首页/数据/Redis 进阶速查/Stream 消费组:XGROUP 与 XREADGROUP
数据结构与选型42 条

Stream 消费组:XGROUP 与 XREADGROUP

消费组把同一条消息分发给组内多个消费者实现分流:XGROUP CREATE 建组,XREADGROUP 用 > 读新消息,处理完成后 XACK 确认,未确认消息进入 PEL。

Redis 进阶速查数据更新于 2026-10-12
建组XGROUP CREATE key group $ MKSTREAM
读取XREADGROUP GROUP g c COUNT n STREAMS key >
确认XACK key group id

示例

示例
redis-cli XGROUP CREATE orders g1 0 MKSTREAM
redis-cli XREADGROUP GROUP g1 consumer1 COUNT 10 STREAMS orders '>'
redis-cli XACK orders g1 1730020000000-0
redis-cli XINFO GROUPS orders
起始 ID 用 0 表示从头消费,用 $ 表示只消费新消息;读自己未确认的历史消息把 > 换成 0。

易错点

  • 读完不 ACK 消息会一直留在 PEL 中,需要监控 pending 数量并处理积压
  • 跨消费者的全局顺序不保证,单消费者维度才有顺序保证

数据来源与参考

  • Redis 官方文档:XGROUP / XREADGROUP 命令
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌