List常用操作

List常用操作

lpush key value1 value2... 将一个或多个值插入到最左边

rpush key value1 value2... 将一个或多个值插入到最右边

lpop key 移除并返回key列表的头元素

rpop key 移除并返回key列表的尾元素

lrange key start stop 返回列表key指定区间内的元素

blpop key1 key2... timeout 从key列表表头弹出一个元素,若列表中没有元素,阻塞等待timeout秒,如果timeout=0,一直阻塞等待

brpop key1 key2... timeout 从key列表末尾弹出一个元素,若列表中没有元素,阻塞等待timeout秒,如果timeout=0,一直阻塞等待

List应用场景

  • 常用数据结构

    1. Stack(栈) = LPUSH + LPOP
    2. Queue(队列) = LPUSH + RPOP
    3. Blocking MQ(阻塞队列) = LPUSH + BRPOP
  • 微博和微信公众号的消息流

    石头关注阿灿,妹妹等人

    1. 阿灿发微博,消息id为520

      lpush msg:{石头-石头的id} 520

    2. 妹妹发微博,消息id为521

      lpush msg:{石头-石头的id} 521

    3. 石头查看最新消息

      lrange msg:{石头-石头的id} 0 4

posted @ 2022-01-28 10:56  阿灿呀  阅读(42)  评论(0)    收藏  举报