1 string 字符串 key value
set key value
set key value //设置key对应值为value
get key //获取值
getrange key start end //返回字符串中的一部分 getrange str1 0 -1 //截取字符串
getset key value //设置指定key的值,并返回旧值
mset key value key value //一次设置多个键值对
setnx key value //只有key不存在的时候才能设置成功
msetnx key value key value //一次设置多个键值对,只有所有的key都不存在的时候才会成功
mget key key //一次得到多个值
strlen key //获取key的字符串长度
setrange key 5 xdl //字符串替换,从第5位开始替换xdl
setex key 30 value //设置一个key并且设置一个过期时间(秒)
pserex key 2000 value //以毫秒为单位设置key的生存周期
incr key //对key中存储的数字加1 ,key如果不存在,则会先初始化为0,在进行incr操作
incrby key 5 //将key中存储的数字加上指定增量
incrbyfloat key 0.5 //将key中存储的数字加上指定浮点数
decr key //将key中存储的数字减1
decrby key 5 //将key中存储的数值减指定值
append key value //将值追加到字符串末尾
2 list 列表 key value value value //元素可重复出现
lpush key value value
lpush key value value //向列表左端添加元素
rpush key value value //向列表右端添加元素
lrange key start stop //获取列表片段 lrange key 0 -1查看所有
lpushx key value //向列表头部添加元素,只有key存在才添加
rpushx key value //向列表尾部添加元素,只有key存在才添加
lpop key //将列表头部的元素弹出
rpop key //将列表尾部的元素弹出
llen key //获取列表长度
lrem key count value //删除列表中的指定值
count >0 :从列表头部开始,向尾部搜索,移除与value相等的元素,移除count个
count <0 :从列表的尾部开始,向头部搜索,,移除与value相等的元素,移除count个
count = 0:移除列表中所有与value相等的元素 lrem list3 0 d
lindex key index //获取指定索引元素上的值 lindex list3 3
lset key index value //设置指定元素的值 lset list3 10 a
ltrim key start stop //只保留列表片段 ltrim list3 0 3 // ltrim list3 2 -1
linsert key before|after pivot value //向列表中插入元素
linsert list4 before 'b' 'x'
linsert list4 after 'b' 'x'
rpoplpush list5 list6 :将元素从一个列表转移到另一个列表 list5最右转移到list6的最左
3 set 集合 key value value1 value2 //元素不可重复出现
sadd key value value1 value2
sadd key value value1 value2 //向集合中添加一个/多个元素
smembers key //返回指定集合中的元素
sismember key value //检查value是否是集合中的成员
srem key value //删除集合中的一个或多个成员
spop key //删除并返回集合中的随机元素
srandmember key count //随机返回集合中元素
count 为正数,而且小于集合中的元素,返回一个长度为count的随机元素的集合数组,
count 数大于集合中的个数的时候,返回整个集合
count 为负数,返回一个数组,数组中的成员可能出现重复,数组的长度是count的绝对值
sdiff key key //返回集合的差集
sadd set2 a b c d
sadd set3 c d e f
sadd set4 a e
sdiff set2 set3 //返回a b
sdiff set2 set3 //返回e f
sdiff set2 set3 set4 //返回 b
sinter set2 set3 ... //返回集合的交集 c d
sunion set2 set3 //返回给定集合的并集 a b c d e f
scard key //返回集合中元素个数
sdiffstore newset set2 set3 //将差集的结果保存到指定的集合当中a b
sinterstore newset set2 set3 //将交集的结果保存到指定的集合当中 c d
sunionstore newset set2 set3 //将并集的结果保存到指定的集合当中 a b c d e f
smove set2 set3 a //将set2集合中的元素a移动另一个set3集合中
4 hash 散列 key field1 value field2 value
hmset h1 username zhangsan pwd 123456
hset h1 username zhangsan //将哈希表中的key中的field设置成指定的value
hget key field //返回哈希表key中给的field的值 hget h1 username
hsetnx key field value //将hash表中的field设置成指定的值,只有field不存在才能成功,如果field存在,操作无效
hsetnx h1 age 20 //
hsetnx h1 aaa 21 //失败 因为已经有age了
hmset key field1 value field2 value //通过多个 field value设置到hash表key中
hmget key field1 field2 //一次获得hash表key中多个field的值
hgetall key //返回hash表key中所有的field和value
hkeys key //返回hash表key中的所有的field
hvals key //返回hash表key中所有的value对应值
hexists key field //检测hash中key的field是否存在
hlen key //返回hash表key中的field的数量
hincrby key field 3//给hash表key中的field的值做增量操作 hincrby h3 age 3
hincrbyfloat key field 0.5 //给hash表key中的field做增量浮点操作 hincrbyfloat h3 age 0.5
hdel key field1 field2 ... //删除hash中key的指定field,可删除一个或多个
5 zset 有序集合 key score value //value唯一不可重复出现
zadd zset 100 zhangsan 90 lisi 80 wangwu
zadd key score value1 ... score value2 //将元素添加到集合中
zscore key value1 //获得指定元素的分数 zscore zset zhangsan
zrange key start stop [withscores] //按照元素score排序返回指定start到stop之间的value
zrange zset 0 -1 //返回所有
zrange zset 0 -1 withscores //带分数返回所有
zrange zset 0 5 withscores //带分数返回0-5位
注意:当两个元素的分值相同的时候,redis在排序按照字典的顺序(0<9<a<z<a<z),如果使用的是utf-8的编码方式同样会按照中文字典的方式排序
zrevrange key start stop [withscores] //和zrange相反,按照分值从大到小排序
zrangebyscore key 80 100 [withscores] [limit 0 5] //获得指定分数范围的元素,按照分值从小到大排序,返回的是分值的指定80到100的元素,只显示limit 0-5条
zrangebyscore zset 70 (90 withscores limit 0 3 //注意: 通过(代表不包含 90
zrevrangebyscore key max min [withscores] [limit 0 5] //和zrangebyscore相反,按照分值从大到小排序
zincrby key 3 value //操作元素的分值,可以为负数为其减分,返回操作之后的分数
zincrby zset 10 zhangsan
zincrby zset -20 lisi
zcard key //获取集合中的元素数量
zcount key min max //获取分数内的元素数量
zcount zset 70 90 //包含70 90的数量
zcount zset (70 (90 //不包含70 90的数量
zrem key value1 value2... //删除一个或多个元素,返回删除元素的数量
zremrangebyrank key start stop //按照排名范围删除元素,按照分数从小到大的顺序删除指定的排名范围内的所有元素
zadd zset1 1 a 2 b 3 c 4 d 5 e 6 f 7 g 8 h
zremrangebyrank zset1 1 3 //删除b c d
zremrangebyrank zset1 0 -1 //删除所有
zremrangebyscore key min max //按照分数范围删除元素
zremrangebyscore zset1 3 7 //删除score3-7的,即为c d e f g
zrank key value //获取指定元素value的排名,根据分数从小到大的顺序 //排第几,从0开始数
zrevrank key value //与zrank相反,获取指定元素排名.根据分数从大到小的顺序
zinterstore newkey numkeys key1 key2... [weights weight weight] [aggregate sum | min |max] //计算有序集合的交集,并将结果保存起来
zadd zset2 1 a 2 b 3 c
zadd zset3 10 a 20 b 30 c 40 d
zinterstore newzset 2 zset2 zset3 //2代表一共有几个key,结果newzset数据为重复数据相加 11 a 22 b...
zinterstore newzset 2 zset2 zset3 aggregate max //取最大 结果为 10 a 20 b 30 c
zinterstore newzset 2 zset2 zset3 aggregate min //取最小 结果为 1 a 2 b 3 c
zinterstore newzset 2 zset2 zset3 weights 2 3 //结果为 32(1*2+10*3) a 64(2*2+20*3) b 96(3*2+30*3) c
zinterstore newzset 2 zset2 zset3 weights 2 3 aggregate max //结果为计算后取最大30 60 90
zunionstore newkey 2 [weights weight weight] [aggregate sum | min |max] //计算有序集合的并集,并将结果保存起来 用法同zinterstore
flushall 清空整个 Redis 服务器的数据(删除所有数据库的所有 key )