*Redis XSETID 命令
设置 Stream 的最后一个 ID。用于恢复或初始化 Stream 的 ID 序列。
*语法
XSETID key last-id [ENTRIESADDED entries-added] [MAXDELETEDID max-deleted-id]
*参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | String | 是 | Stream 键名 |
| last-id | String | 是 | 新的最后 ID |
| ENTRIESADDED | Integer | 否 | 已添加条目数量 |
| MAXDELETEDID | String | 否 | 最大已删除 ID |
*返回值
| 条件 | 返回值 |
|---|---|
| 成功 | OK |
| key 不存在 | 错误 |
*时间复杂度
O(1)
*
*示例
> XADD mystream * field value
"1717000000000-0"
> XSETID mystream 1717000000000-0
OK
*常见错误
- last-id 小于现有 ID:返回错误,不能回退 ID。
*最佳实践
- Stream 恢复:从备份恢复 Stream 后,用 XSETID 恢复 ID 序列,确保新 ID 大于已有 ID。
*FAQ
Q: XSETID 和 XADD 有什么区别? A: XSETID 只设置最后 ID,不添加数据;XADD 添加数据并生成新 ID。