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
评价此页
回到顶部 ↑