1. Redis五大常用数据类型:String(字符串),List(列表),Hash(哈希表),Set(无序集合),Zset(有序集合)
2.Redis数据库简单使用命令:
•DBSIZE 查看当前数据库key的数量
•KEYS * 查看key的内容
•FLUSHDB 清空当前数据库的key
•FLUSHALL 清空所有数据库的key(慎用)
•EXISTS KEY 判断key是否存在 1表示存在 0表示不存在
3.Redis-String常用命令
•string是redis最基本的类型,一个key对应一个value,string可以包含任何数据,最大不能超过512M
•1.set/get/del/append/strlen
1.set---设置值 eg:set name xyy
2.get---获取值 eg:get name
3.mset---设置多个值 eg:mset name xyy age 18 height 180
3.mget---获取多个值 eg:mget name age height
4.del---删除 eg:del name
5.ctrlen---查看字符串长度 eg:strlen height
•2.incr/decr/incrby/decrby
1.incr---每次自增1 eg:incr age
2.decr---每次自减1 eg:decr age
3.incrby---自定义自增多少 eg:incrby age 5
4.decrby---自定义自减多少 eg:decrby age 5
•3.getrange/setrange
1.getrange ---- 获取指定区间范围内的值,类似between....and的关系
2.setrange ---- 代表从第几位开始替换,下脚本从零开始
3.getrange key 0 -1 ---从0 -1表示获取全部
4.Rdeis-List常用命令
•2.redis-list(单值多value),列表是简单的字符串列表,按照插入顺序排序,可以添加一个元素列表的头部(左边)或者尾部(右边)
•1.lpush/rpush/lrange
lpush ---- 从左边插入数据 lpush l1 1 2 3 4 5 倒序排列
rpush ---- 从右边插入数据 rpush l2 1 2 3 4 5 正序排列
lrange ---- 获取指定长度 lrange l1 0 -1 获取list01 中的所有值
•2.lpop/rpop
lpop ---- 移除最左元素 lpop l1 删除元素5
rpop ---- 移除最右元素 rpop l1 删除元素1
•3.lindex
lindex ---- 按照索引获取元素 lindex l1 2 获取元素3
•4.llen
llen ---- 获取列表长度 llen l1 获取列表l1长度
•5.lrem key
删N个value
lrem l1 2 1 在l1中删除2个1
•6.ltrim key
ltrim ---- 开始index结束index,截取指定范围的值后在赋值给key
ltrim l1 0 2 截取l1从0到2的数据重新赋值给l1,l1中数据改变
•7.rpoplpush l1 l2
rpoplpush l1 l2 ---- 将l1中最后一个压入l2中第一位
•8.lset key index value
lset l1 0 x ---- 将l1中第一位换成x
•9.linsert key before/after
linsert l1 before x python 在x之前加字段python
linsert l1 after x java 在x之前加字段java
5.Redis-Hash常用命令
•hash是一个键值对集合,是一个string类型的field和value的映射表。
•1.hset/hget/hmset/hmget/hgetall/hdel
设值/取值/设值多个值/取多个值/取全部值/删除值
hset user id 11 ---- 设置值
hget user id ---- 获取值
hmset anb id 11 name xyy age 18 ---- 设置多个值
hmget anb id name age ---- 获取多个值,只返回相应的值
hgetall anb ---- 返回全部值
hdel anb id ---- 删除id
•2.hlen
hlen anb ---- 求哈希长度
•3.hexists key
hexists name ---- 确定key中是否存在某个值
存在返回1 ,不存在返回0
•4.hkeys/hvals
hkeys anb ---- 获取所有的键
hvals anb ---- 获取所有的值
6.Redis-Set常用命令
•4.redis-set,set是string类型的无序不重复集合
•1.sadd/smembers/sismember
sadd/smembers/sismember ---- 添加/查看集合/查看是否存在
sadd set01 1 2 2 3 3 自动去掉重复
smembers set01 得到set01
sismember set01 1 如果存在返回1 不存在返回0
•2.scard
scard ---- 获取集合里面的元素个数
scard set01
•3.srem key value
srem ---- 删除集合中元素
srem set01 3 ---- 删除set01中的3
•4.srandmember key(原来集合不变)
srandmembe ---- 随机选出几个数
sadd set02 1 2 3 4 5 6 7 8
srandmember set02 2 ---- 随机选出两个数且原来集合不变
•5.spop key(原来集合发生变化)
spop ---- 随机出栈
spop set01
•6.smove key1 key2
sadd set03 x y z
smove set01 set03 2 将set01中的2 移动到set03中
•7.数学集合类
sadd set01 1 2 3 4 5
sadd set02 1 2 3 a b
差集
SDIFF set01 set02 返回 4 5
交集
SINTER set01 set02 返回 1 2 3
并集
SUNION set01 set02 返回set01 set02 中的值
7. Redis-Zset常用命令
•Zset(有序集合)
•1.zadd/zrange
zadd zset01 60 v1 70 v2 80 v3 90 v4 100 v5
zrange zset01 0 -1 ---- 返回集合中所有值
•2.zrangebyscore key start end
zrangebyscore key start end----根据开始结束来取值
zrangebyscore zset01 60 70
zrangebyscore zset01 60 (90 表示不包含90
zrangebyscore zset01 60 90 limit 1 2 从第一条开始截取2条
•3.zrem key
zrem key value---- 某score下对应的value值,作用是删除元素
zrem zset01 v1 ----- 删除zset01中的v1
•4.zcard/zcount key score 区间/zrank key values
zcard 求zset01元素总数
zcount zset01 60 90 求60-90中间的元素个数
zrank zset01 v2 返回1 返回对应下角标,从0开始