*Redis XGROUP SETID 命令

设置消费者组的最后交付 ID。用于重置消费者组的读取位置。


*语法

XGROUP SETID key group id-or-$

*参数说明

参数 类型 必填 说明
key String Stream 键名
group String 消费者组名称
id-or-$ String 新的 ID 或 $(最新)

*返回值

条件 返回值
成功 OK

*时间复杂度

O(1)

*

*示例

# 重置到最新位置
> XGROUP SETID mystream mygroup $
OK

# 重置到指定位置
> XGROUP SETID mystream mygroup 1717000000000-0
OK

*常见错误

  1. ID 大于已有消息:返回错误。

*最佳实践

  1. 重置消费位置:需要重新消费或跳过历史消息时,用 XGROUP SETID 重置组的读取位置。

*FAQ

Q: XGROUP SETID 和 XGROUP CREATE 有什么区别? A: XGROUP CREATE 创建新组;XGROUP SETID 修改已有组的最后交付 ID。