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 是双向链表 ,两头增删极快;适用场景:简易消息队列、任务队列、朋友圈时间线、评论列表、栈结构、秒杀排队、日志排队。

相关推荐
李兆龙的博客3 小时前
问津集 #26:Lakebase——Postgres 的版本化页面存储、数据库分支与计算弹性
数据库
倔强的石头_5 小时前
聊聊金仓KFS:一款把数据同步软件做扎实的产品
数据库
闲云野鹤在人间5 小时前
MySQL|从理论、安装、备份到主从复制、MHA高可用详解
linux·运维·数据库·mysql·云计算
禾小西5 小时前
Redis:从两大维度和三大主线建立知识体系
数据库·redis·缓存
禾小西6 小时前
Redis 数据结构:快速的 Redis 有哪些慢操作?
数据结构·数据库·redis
数据库小学妹6 小时前
数据共享交换平台选型:交换方式对比与避坑指南
数据库·信创·数据同步·数据交换平台·政务数据共享·数据共享交换平台·数据库底座
loong_XL8 小时前
决策模型做内容安全检测:从踩坑到上线
数据库·安全·jev·决策模型
这个DBA有点耶8 小时前
数据库双轨并行实战:全量并行策略、增量延迟控制、双向回切与一致性校验
数据库·架构·dba
adinnet20269 小时前
保单、赔付与渠道问数:保险经营数据如何实现按需查询
大数据·数据库·人工智能
云贝贝贝9 小时前
PostgreSQL 分区表:从设计到运维,大表不再卡
运维·数据库·postgresql