Redis核心数据结构 - list

常用操作

LPUSH key value [key value ...]    // 将一个或者多个值插入到key列表的最左边
RPUSH key value [key value ...]    // 将一个或者多个值插入到key列表的最右边
LPOP key    // 移除并返回key列表的最左边元素
RPOP key    // 移除并返回key列表的最右边元素
LRANGE key start stop    // 返回列表key中指定区间内的元素,区间以偏移量start stop指定
BLPOP key [key...] timeout    // 阻塞式从key列表头弹出一个元素,若没有元素则会等待, timeout = 0 则会一直阻塞等待
BRPOP key [key...] timeout    // 阻塞式从key列表尾弹出一个元素,若没有元素则会等待, timeout = 0 则会一直阻塞等待

应用场景

实现栈:Stack = LPUSH + LPOP
实现队列:Queue = LPUSH + RPOP
阻塞队列:Blocking MQ = LPUSH + BRPOP

微信微博公众号消息流
kyo关注了Joe,Smith等大V

  1. Joe发微博,消息id为10001
    LPUSH   msg:{kyo-id}   10001
    2). Smith发微博,消息id为10002
    LPUSH   msg:{kyo-id}   10002
    3). 查看最新的微博消息
    LRANGE   msg:{kyo-id}   0   4

博客系统文章分页
LRANGE   article:{kyo-id}   0   4
LRANGE   article:{kyo-id}   5   9

你可能感兴趣的:(Redis核心数据结构 - list)