Redis入门参考:https://blog.youkuaiyun.com/ws_kfxd/article/details/85016471
Redis详细文档:http://redisdoc.com/
开发中常用指令
一、库操作:
select 0 //切换库
dbsize //查询当前库是否有数据
flushdb //清除单个库所有key数据
flushall //清除所有库所有key数据
二、key操作
keys * //查找全部key
set k1 v1 //添加数据
get k1 //查询数据
del key //删除数据
exists key //是否存在某key
move key1 2 //将key1剪切到2号库
ttl key //查看过期时间 -1永不过期 -2已过期
expire key 10 //设置key过期时间为10秒
type key //查此key对应值数据类型
三、String类型指令:
append key 12345 //追加数值
strlen key //返回key为string类型的value的长度(当 key 储存的不是字符串值时,返回一个错误,key不存在时,返回0)
incr key //数值自加1
incrby key 3 //数值加3
decrby key 2 //数值减2
getrange key 0 3 //截取字符串,不影响原值
setrange key 0 123 //从第0位开始替换3位为123
setex key 10 value //设值+过期时间
setnx key value //设值,若key存在,不成功,防止覆盖
mset k1 v1 k2 v2 …… //设值多个值
mget k1 k2…… //查询多个值
msetnx k1 v1 k2 v2 …… //若一个以上已存在,不成功
四、List类型指令:
lpush list 1 2 3 4 5 //创建list,依次从左边添加元素
rpush list 1 2 3 4 5 //创建list,依次从右边添加元素
lrange list 0 3 //查询list,索引0-3
lpop list //弹出最左边的一个元素 (删除)
rpop list //弹出最右边的一个元素 (删除)
lindex list 2 //查询索引为2的值
llen list //查询list长度
lrem list 2 3 //删除list中2个3
ltrim list 0 4 //截取出索引为0-4的值,赋给原来的list
rpoplpush list1 list2 //将list1的尾值弹出放入list2的头部(list1中的尾值删除了)
lset list 1 x //用x替换list中索引为1的值
linsert list before x y //在list中值为x的前面插入y
linsert list after x y //在list中值为x的后面插入y
五、Set类型指令:
sadd set 1 1 2 2 3 3 //只能添加进1 2 3(无重复)
smembers set //查询set内容
sismember set x //判断set中是否有x
scard set //查询set有几个值
srem set x //删除set中的x
srandmember set x //在set中随机出x个值
spop set //随机出栈一个(删除)
smove set1 set2 x // 将set1中的x赋给set2中
数学集合类:
sdiff set1 set2 //找出仅存在set1中的值(差集)
sinter set1 set2 //找出set1和set2中都存在的值(交集)
sunion set1 set2 //找出set1和set2中所有的值,重复的去重(并集)
六、Hash类型指令:(v是键值对)
hset user id 1 //给key为user的hash中加入<id,1>
hget user id //取出 key为user的hash中的id的值
hmset user id 11 name ws…… //添加多个键值对
hmget user id name…… //查询多个键的值
hgetall user // 查询出所有键和对应的值
hdel user id // 删除键为id的键值对
hlen user // 查询user中有几个键值对
hexists user id // 判断是否存在为id的键值对
hkeys user // 查询出所有的键
hvals user //查询出所有的值
hincrby user id 2 //将键为id的值加2(整数)
hincrbyfloat user id 0.5 //将键为id的值加0.5(小数)
hsetnx user age 22 //若age不存在则设置成功,若age存在则不成功
七、Zset(sorted set)类型指令: (相当于在set前加一个score值)
zadd zset 60 v1 70 v2 80 v3 //向zset中添加(60)v1 (70)v2 (80)v3
zrange zset 0 -1 //查询zset中的值(不显示score)
zrange zset 0 -1 withscores //查询zset中的值(score显示在值的后面)
zrangebyscore zset 60 70 //查询score在60-70间(包含60 70)的值
zrangebyscore zset 60 (70 //查询score在60-70间(包含60 不包含70)的值
zrangebyscore zset 60 70 limit 1 2 //在以上结果集中再截取(类似mysql分页)
zrem zset v3 // 删除zset的v3
zcard zset //查询zset中的值个数
zcount zset 60 70 //查询zset中score在60-70间(包含60 70)的值得个数
zrank zset v2 // 查询值为v2的下标
zscore zset v2 // 查询值为v2的score
zrevrank zset v3 //逆序获得值为v3的下标
zrevrange zset 0 -1 // 逆序查询出所有值
zrevrangebyscore zset 80 60 //逆序查询score在80-60间(包含80 60)的值