Redis数据类型之List

本文深入解析Redis列表(List)数据类型,介绍其结构、常用操作及应用场景,如消息流处理、队列管理和阻塞队列实现。通过具体实例展示如何使用LPUSH、RPUSH等命令进行元素的插入与移除。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值