XGROUP CREATE
语法
XGROUP CREATE key group <id | $> [MKSTREAM] [ENTRIESREAD entries-read]
- 可用版本
- Redis 开源版 5.0.0
- 时间复杂度
- O(1)
- ACL 类别
-
@write
,@stream
,@slow
,
为存储在 <key>
的 Stream 创建一个由 <groupname>
唯一标识的新消费者组。
每个组在给定的 Stream 中都有一个唯一的名称。当一个同名的消费者组已存在时,该命令返回一个 -BUSYGROUP
错误。
该命令的 <id>
参数指定了从新组的角度来看 Stream 中最后发送的条目。特殊 ID $
是 Stream 中最后一个条目的 ID,但你可以用任何有效的 ID 替换它。
例如,如果你希望组的消费者从头开始获取整个 Stream,请使用零作为消费者组的起始 ID
XGROUP CREATE mystream mygroup 0
默认情况下,XGROUP CREATE
命令要求目标 Stream 存在,如果不存在则返回错误。如果 Stream 不存在,你可以在 <id>
参数之后使用可选的 MKSTREAM
子命令作为最后一个参数,自动创建一个长度为 0 的 Stream。
XGROUP CREATE mystream mygroup $ MKSTREAM
为了启用消费者组延迟跟踪,可以使用任意 ID 指定可选的命名参数 entries_read
。任意 ID 是除 Stream 的第一个条目 ID、最后一个条目 ID 或零(“0-0”)ID 之外的任何 ID。使用它来找出任意 ID(不包括它)与 Stream 最后一个条目之间的条目数量。将 entries_read
设置为 Stream 的 entries_added
减去条目数量的结果。
RESP2/RESP3 回复
Simple string 回复:OK
。历史
- 从 Redis 7.0.0 版本开始:添加了命名参数
entries_read
。