从链表中删除一个值为value1的元素,从左向右
lrem key1 1 value1
从链表中删除一个值为value1的元素,从右向左
lrem key1 -1 value1
删除链表中所有值为value1的元素
lrem key1 0 value1
复制代码
set
无序不可重复的集合,常用来排除重复数据和随机抽奖功能
命令
向集合中添加元素,重复元素会自动跳过
sadd key1 value1 value2 …
取出集合所有元素
smembers key1
判断集合中是否存在某个元素
sismember key1 value1
获取集合中的元素个数
scard key1
从集合中删除指定元素
srem key1 value1 value2 …
随机从集合中弹出一个元素并删除该元素
spop key1
随机从集合中取出元素,但不会删除元素,后面的1表示取出元素的个数
srandmember key1 1
求两个集合交集
sinter key1 key2
求两个集合并集
sunion key1 key2
求两个集合差集
sdiff key1 key2
复制代码
zset
有序不可重复的集合,常用来做排行榜
命令
添加元素,相同value不同score会覆盖score
zadd key1 score1 value1 score2 value2
获取元素数量
zcard key1
取出全部元素,从小到大
zrange key1 0 -1
取出部分元素,从小到大
zrange key1 0 4
取出全部元素,从大到小
zrevrange key1 0 -1
取出部分元素,从大到小
zrevrange key1 0 4
取出score在指定范围内的元素,从小到大,其中min和max是score的范围
zrangebyscore key1 min max withscores
取出score在指定范围内的元素,从大到小
zrevrangebyscore key1 max min withscores
为指定value的元素的score递增,其中1是每次递增多少,可以为负数
zincrby key1 1 value1
删除指定元素
zrem key1 value1
统计集合中score在范围内的元素个数
zcount key1 min max
返回指定值在集合中的排名,从小到大,排名从0开始
zrank key1 value1
返回指定值在集合中的排名,从大到小
zrevrank key1 value1
复制代码
hash
类似于Java中的Map<String, String>
命令
添加一个键值对
hset key1 field1 value1
获取键值
hget key1 field1
批量设置键值对
hmset key1 field1 value1 field2 value2 …
检查键是否存在
hexists key1 field1
获取所有键
hkeys key1