Redis数据类型之List

一、Redis五种数据类型

Redis数据类型之List_第1张图片
前言:
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)一个列表最多可以包含在这里插入图片描述个元素 (4294967295, 每个列表超过40亿个元素)
类似JAVA中的LinkedList

一、List结构

1.List常用操作

命令 解释
LPUSH key value [value…] 将一个或多个值value插入到key列表的表头(最左边)
RPUSH key value [value…] 将一个或多个值value插入到key列表的表尾(最右边)
LPOP key 移除并返回key列表的头元素
RPOP key 移除并返回key列表的尾元素
LRANGE key start stop 返回列表key中指定区间内的元素,区间以偏移量start和stop指定
BLPOP key [key…] timeout 从key列表表头弹出一个元素,若列表中没有元素,阻塞等待timeout秒,如果设置timeout=0,一直阻塞等待
BRPOP key [key…] timeout 从key列表表尾弹出一个元素,若列表中没有元素,阻塞等待timeout秒,如果设置timeout=0,一直阻塞等待

2.常用数据结构
Stack(栈) = LPUSH + LPOP -->FIFO
Queue(队列) = LPUSH + RPOP
Blocking MQ(阻塞队列) = LPUSH + BRPOP

二、List应用场景

1.微博和微信公众号消息流
例如:
A微博用户关注了B用户,C用户。
(1)B用户发微博,消息ID为001
LPUSH msg:{A用户id} 001
(2)C用户发微博,消息ID为002
LPUSH msg:{A用户id} 002
(3)A用户查看前两条最新的微博消息
LRANGE msg:{A用户id} 0 1

你可能感兴趣的:(Redis)