redis中list类型

Redis List 类型 详解 + 应用场景

一、先搞懂 List 是什么

Redis 的 List 本质就是双向链表特点:

  • 左边能加、右边能加
  • 左边能删、右边能删
  • 两头操作极快
  • 中间查数据慢(链表特性)

你就把它理解成:一根排队的队伍,头尾随便进出

底层是双向链表,不是数组。


二、List 核心特点

  1. 有序、可重复
  2. 两头增删 O (1) 超快
  3. 中间遍历慢
  4. 适合做 队列、栈、消息排队

三、常用命令

redis

复制代码
lpush list1 a b c    # 左边加(左进)
rpush list1 x y z    # 右边加(右进)
lpop list1           # 左边出
rpop list1           # 右边出
lrange list1 0 -1    # 查看全部元素

四、List 经典应用场景

1. 消息队列 / 任务队列(最常用)

生产者往右边塞 ,消费者从左边拿

  • 订单任务、异步任务、日志推送、秒杀排队
  • 实现简易消息队列

流程:

  • 生产者:rpush queue 任务1
  • 消费者:lpop queue

2. 栈结构(后进先出)

一边进、同一层出lpush + lpop 就是栈

适合:操作记录、撤销功能。

3. 朋友圈 / 时间线流

朋友圈、微博关注动态

  • 发一条动态就 lpush 进自己的列表
  • 查看朋友圈直接 lrange 分页读取

天然按时间倒序,完美适配。

4. 排行榜简单版(时间序)

按发布时间排序的列表,比如:最新留言、最新评论列表

5. 限流排队、秒杀排队

秒杀时大量用户请求用 List 做排队缓冲,削峰限流。

6. 聊天室在线用户列表

维持一个有序在线用户队列。


五、一句话总结

Redis List 是双向链表 ,两头增删极快;适用场景:简易消息队列、任务队列、朋友圈时间线、评论列表、栈结构、秒杀排队、日志排队

相关推荐
jiayong232 小时前
Tool Permission 与 Sandbox 的安全流水线:Agent 工具系统的工程边界
java·数据库·安全·agent
weixin_444012932 小时前
如何在MongoDB中实现按时间跨度的分片路由_时间序列范围分片与冷热节点架构
jvm·数据库·python
六月雨滴2 小时前
块(Block)管理
数据库·oracle·dba
东风破1372 小时前
DM存储过程及系统 表,系统视图,以及常规的运维SQL语句
运维·数据库·dm达梦数据库
CQU_JIAKE2 小时前
5.13【A】
数据库·sql
lzhdim3 小时前
SQL 入门 14:SQL 触发器与事件:自动化数据处理
linux·前端·数据库·sql·自动化
环流_3 小时前
redis中hash的应用场景
数据库·redis·哈希算法
@我漫长的孤独流浪3 小时前
医院病房管理系统E-R建模与关系转换
数据库
_codemonster3 小时前
系统分析师系列目录
java·网络·数据库