首页/数据/数据库速查/List 队列模式与 Stream 对比
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条备份与恢复56 条主从复制与高可用53 条性能与调优57 条
Redis 命令96 条
Redis 运维与场景124 条

List 队列模式与 Stream 对比

List 队列适合轻量任务:LPUSH/BRPOP 或 LMOVE 可靠队列;需要消费组、ACK、回溯、多播时用 Stream。

数据库速查数据更新于 2026-10-12

对比

维度List 队列Stream
消费组无(多消费者竞争)XGROUP 原生支持
消息确认无(靠 LMOVE 自建)XACK / PEL
回溯不支持按 ID 范围重读
内存控制靠 LTRIMMAXLEN 近似裁剪
复杂度极简功能全但更重

最小队列实现

最小队列实现
RPUSH q:jobs job1 job2 job3   # 生产者
BRPOP q:jobs 5                # 消费者(阻塞 5 秒)
LLEN q:jobs                   # 积压监控
并发量上千、需要 ack 与重试的作业系统选 Stream 或专业 MQ;List 更适合低频、可容忍丢失的内部任务。

易错点

  • 拿 List 当 MQ 又想要 ack/重试:需要自己补整套机制,成本比想象高
  • 队列键无长度上限:生产者突发流量下内存被单一队列吃光

数据来源与参考

  • Redis 官方文档: List 使用模式
  • Redis 官方文档: Streams

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌