*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

*常见错误

  1. last-id 小于现有 ID:返回错误,不能回退 ID。

*最佳实践

  1. Stream 恢复:从备份恢复 Stream 后,用 XSETID 恢复 ID 序列,确保新 ID 大于已有 ID。

*FAQ

Q: XSETID 和 XADD 有什么区别? A: XSETID 只设置最后 ID,不添加数据;XADD 添加数据并生成新 ID。