list
基本命令:lpush key arg…
注意顺序:
127.0.0.1:6379> lpush l2 a b c d
(integer) 4
127.0.0.1:6379> LPOP l2
"d"
127.0.0.1:6379> LPOP l2 3
1) "c"
2) "b"
3) "a"
127.0.0.1:6379> LPOP l2 3
(nil)
基本命令
lpush 往list添加一个元素
lpop 从list取出一个元素,该元素会从list删除
lrange 查看某个范围的元素,不会从list中删除该元素
lindex 查看list中某个下标的元素,不会从list中删除该元素
lset 给list某个下标的元素设置值
lrem key count element 移除count个元素,如果count是正数,从左往右一次删除元素,负数相反,没有rrem命令
linsert key before|after privot element 在某个元素前|后插入元素
blpop key [key …] timeout 支持超时时间的,阻塞式去拿list内容
数据结构
lpush、lpop
实现栈
lpush、rpop
实现队列
lindex
实现数组
linsert
实现链表
blpop
实现FIFO的阻塞队列、同时支持单消费者的消息订阅发布模式
场景
- 实现单消费者的消息队列。一个线程负责放入任务、另外一个线程轮询取出任务