*Redis RENAME 命令

重命名 key。若 newkey 已存在则覆盖。


*语法

RENAME key newkey

*参数说明

参数 类型 必填 说明
key String 原键名
newkey String 新键名

*返回值

条件 返回值
重命名成功 OK
key 不存在 错误 ERR no such key

*时间复杂度

O(1)

*

*示例

> SET mykey "value"
OK
> RENAME mykey newkey
OK
> GET newkey
"value"
> GET mykey
(nil)

*常见错误

  1. key 不存在:返回错误。
  2. 覆盖已有 key:newkey 已存在则静默覆盖。

*最佳实践

  1. 临时 key 重命名:操作完成后将临时 key 重命名为正式 key,实现原子替换。
  2. 避免覆盖:需要 newkey 不存在时才重命名,用 RENAMENX

*FAQ

Q: RENAME 和 RENAMENX 有什么区别? A: RENAME 总是执行,覆盖已有 newkey;RENAMENX 只在 newkey 不存在时执行。