一、Redis五种数据类型

前言:
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列表(List)数据类型,介绍其结构、常用操作及应用场景,如消息流处理、队列管理和阻塞队列实现。通过具体实例展示如何使用LPUSH、RPUSH等命令进行元素的插入与移除。
1452

被折叠的 条评论
为什么被折叠?



