List常用操作
- LPUSH key value [value ...] 从左边(表头)插入一个或多个key value
- RPUSH key value [value ...] 从右边(表尾)插入一个或多个key value
- LPOP key
- RPOP key
- LRANGE key start stop 返回列表key中指定区间内的元素,区间以偏移量star和stop指定
- BLPOP key [key...] timeout 从key列表表头弹出一个元素,若列表中没有元素,阻塞等待 timeout秒,如果timeout=0,一直阻塞等待 (B表示blocking)
- BRPOP key [key ..] timeout 从key列表表尾弹出一个元素,若列表中没有元素,阻塞等待 timeout秒,如果timeout=0,一直阻塞等待 (B表示blocking)
应用场景
- stack(栈)= LPUSH + LPOP
- queue(队列) = LPUSH + RPOP
- blocking mq(阻塞队列) = LPUSh + BRPOP
- 微博和公众号消息
用户关注了MacTalk,备胎说车等大V
1) MacTaclk 发微博,消息ID 10018
LPUSH msg:{用户ID} 10018
2) 备胎说车发微博 消息ID 10086
LPUSH msg:{用户ID} 10086
3)我查看最新微博消息
LRANGE msg:{用户ID} 0 4