*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
*常见错误
- ID 大于已有消息:返回错误。
*最佳实践
- 重置消费位置:需要重新消费或跳过历史消息时,用 XGROUP SETID 重置组的读取位置。
*FAQ
Q: XGROUP SETID 和 XGROUP CREATE 有什么区别? A: XGROUP CREATE 创建新组;XGROUP SETID 修改已有组的最后交付 ID。