帮你快速理解、总结文档立即下载

stream 族

最近更新时间:2026-08-06 18:51:32
我的收藏

命令介绍

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)或消费组的详细元信息。
更多信息请参见 Valkey 官方文档: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
✓
✓
✓
✓
✓
✓
✗
✗
✗
✗
✗
—