Redis数据结构之List类型

94 阅读1分钟

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