注:一些常用的指令跟String类型的指令相似只是把开头s改一下就行了 3. List 类型:Redis list 的实现为一个双向链表,即可以支持反向查找和遍历,更方便操作,不过带来了部分额外的内存开销,Redis 内部的很多实现,包括发送缓冲队列等也都是用的这个数据结构。 应用场景:我们可以轻松地实现最新消息排行等功能。Lists 的另一个应用就是队列,可以利用 Lists 的 PUSH 操作,将任务存在 List 中,然后工作线程再用 POP 操作将任务取出进行执行。
指令
含义
lpush key string
在 key 对应 list 的头部添加字符串元素
rpush key string
在 key 对应 list 的尾部添加字符串元素
llen key
返回 key 对应 list 的长度
lrange key start end
返回指定区间内的元素
ltrim key start end
截取 list 指定区间内元素
lset key indexvalue
设置 list 中指定下标的元素值
lrem key count value
e 从 List 的头部 (count正数)或尾部 ( count 负数)删除一定数量 ( count)匹配 value 的元素
lpop key
从 list 的头部删除并返回删除元素
rpop key
从 list 的尾部删除并返回删除元素
blpop key1 …keyN timeout
从左到右扫描,返回对第一个非空 list 进行lpop 操作并返回
Set类型:是无序集合,最大可以包含(2 的 32 次方-1)个元素。 应用场景:Redis set 对外提供的功能与 list 类似是一个列表的功能,特殊之处在于 set 是可以自动排重的,当你需要存储一个列表数据,又不希望出现重复数据时,set 是一个很好的选择,并且 set 提供了判断某个成员是否在一个 set 集合内的重要接口,这个也是 list所不能提供的。 Redis 还为集合提供了求交集、并集、差集等操作。
指令
含义
sadd key member
添加一个 string 元素到 key 对应 set 集合中
srem key member
从 key 对应 set 中移除指定元素
spop key
删除并返回 key 对应 set 中随机的一个元素
srandmember key
同 spop,随机取 set 中的一个元素
smove srckey dstkey member
从 srckey 对应 set 中移除 member 并添加到dstkey 对应 set 中,整个操作是原子的