前置知识: Redis

00:00
1 min Advanced 2026/6/14

Redis Stream消息队列:消费者组、消息确认、消息积压与XREAD/XADD命令

1. Stream 概述

Redis Stream日志型数据结构类似 Kafka 的消息队列,支持消费者组、消息确认和持久化

2. 基本操作

-- 添加消息
XADD mystream * field1 value1 field2 value2
-- 返回消息ID:1718334600000-0

-- 指定ID格式
XADD mystream 1718334600000-0 field1 value1

-- 限制Stream长度
XADD mystream MAXLEN 1000 * field1 value1

3. 读取消息

-- 从头读取
XREAD COUNT 10 STREAMS mystream 0

-- 阻塞读取新消息
XREAD BLOCK 5000 COUNT 10 STREAMS mystream $

-- 范围读取
XRANGE mystream - + COUNT 10
XRANGE mystream 1718334600000-0 1718334700000-0

4. 消费者组

-- 创建消费者组
XGROUP CREATE mystream mygroup $  -- 从最新消息开始
XGROUP CREATE mystream mygroup 0  -- 从头开始

-- 消费者读取
XREADGROUP GROUP mygroup consumer1 COUNT 1 STREAMS mystream >

-- 确认消息
XACK mystream mygroup 1718334600000-0

-- 查看待处理消息
XPENDING mystream mygroup

-- 认领超时消息
XCLAIM mystream mygroup consumer1 3600000 1718334600000-0

5. 消息积压处理

-- 查看Stream信息
XINFO STREAM mystream

-- 修剪Stream
XTRIM mystream MAXLEN 10000
XTRIM mystream MINID 1718334600000-0

-- 查看消费者组信息
XINFO GROUPS mystream
XINFO CONSUMERS mystream mygroup

知识检测

学习进度

-- 已学文档
--% 知识覆盖率

学习推荐

专注模式