命令介绍
Stream 族命令用于持久化消息流(append-only log)的写入、读取与消费管理,是 Pub/Sub 的有状态增强版本。该族命令适用于消息队列、事件溯源(Event Sourcing)、日志聚合等需要消息持久化与消费确认的场景。其核心命令按功能可分为以下四类:
消息写入与读取
XADD:向流末尾追加消息并返回唯一消息 ID(支持自动生成
* 或显式指定)。XREAD:从一个或多个流中读取消息,支持从指定 ID 或流头部/尾部开始。
XRANGE / XREVRANGE:按 ID 范围顺序/逆序检索消息。
XLEN:返回流中的消息数量。
消费组管理(多消费者协作)
XGROUP CREATE / XGROUP DESTROY / XGROUP SETID / XGROUP CREATECONSUMER:创建、销毁消费组,设置或重置消费进度,注册消费者。
XREADGROUP:消费组内消费者读取分配给自己的待处理消息。
XACK:确认消息已处理,从待处理列表中移除。
XPENDING:查看消费组中待处理(未确认)消息的详细信息。
XCLAIM / XAUTOCLAIM(Redis 6.2+):将超时未确认的消息转移给其他消费者以实现故障转移,XAUTOCLAIM 支持自动扫描并认领。
消息与流生命周期管理
XDEL:按消息 ID 删除指定消息。
XTRIM:按条件裁剪流长度(MAXLEN / MINID),支持 ~ 近似修剪以降低性能开销。
元信息查询
XINFO:查看流(GROUPS / CONSUMERS / STREAM)或消费组的详细元信息。
命令支持概览
基础命令:
xinfo、xadd、xtrim、xdel、xrange、xrevrange、xlen、xread、xgroup、xreadgroup、xack、xclaim、xpending,仅 Redis 5.0、6.2、7.0 版本及 Valkey 8.0、9.0 的标准架构与集群架构支持。xautoclaim 命令:仅 Redis 6.2、7.0 版本及 Valkey 8.0、9.0 版本支持。Redis 4.0 及 2.8 版本:不支持 Stream 族全部命令。
跨 Slot 限制:集群架构下,
xread、xreadgroup 不支持跨 Slot 操作。命令兼容性矩阵
Stream 族命令在各版本与架构下的支持情况如下表所示(✓ 表示支持,✗ 表示不支持,— 表示该命令不存在跨 Slot 访问场景)。
命令 | Valkey 9.0集群架构 | Valkey 9.0集群架构 | Redis 7.0/Valkey 8.0 标准架构 | Redis 7.0/Valkey 8.0集群架构 | Redis 6.2标准架构 | Redis 6.2集群架构 | Redis 5.0标准架构 | Redis 5.0集群架构 | Redis 4.0标准架构 | Redis 4.0集群架构 | Redis 2.8标准架构 | 集群架构跨 Slot 支持 |
xinfo | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | — |
xadd | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | — |
xtrim | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | — |
xdel | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | — |
xrange | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | — |
xrevrange | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | — |
xlen | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | — |
xread | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ |
xgroup | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | — |
xreadgroup | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ |
xack | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | — |
xclaim | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | — |
xpending | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | — |
xautoclaim | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | — |