Redis使用rename和renamenx命令重命名key。其中rename命令当key和newkey相同,或者key不存在时,返回一个错误。renamenx当且仅当newkey不存在时,将key改名为newkey。当key不存在时,返回一个错误。
rename key newkey
将 key 改名为 newkey 。
当 key 和 newkey 相同,或者 key 不存在时,返回一个错误。
当 newkey 已经存在时, RENAME 命令将覆盖旧值。
可用版本:
>= 1.0.0
时间复杂度:
O(1)
返回值:
改名成功时提示 OK ,失败时候返回一个错误。
实例:
# key 存在且 newkey 不存在 redis> SET message "hello world" OK redis> RENAME message greeting OK redis> EXISTS message # message 不复存在 (integer) 0 redis> EXISTS greeting # greeting 取而代之 (integer) 1 # 当 key 不存在时,返回错误 redis> RENAME fake_key never_exists (error) ERR no such key # newkey 已存在时, RENAME 会覆盖旧 newkey redis> SET pc "lenovo" OK redis> SET personal_computer "dell" OK redis> RENAME pc personal_computer OK redis> GET pc (nil) redis:1> GET personal_computer # 原来的值 dell 被覆盖了 "lenovo"
renamenx key newkey
当且仅当 newkey 不存在时,将 key 改名为 newkey 。
当 key 不存在时,返回一个错误。
可用版本:
>= 1.0.0
时间复杂度:
O(1)
返回值:
修改成功时,返回 1 。
如果 newkey 已经存在,返回 0 。
实例:
# newkey 不存在,改名成功 redis> SET player "MPlyaer" OK redis> EXISTS best_player (integer) 0 redis> RENAMENX player best_player (integer) 1 # newkey存在时,失败 redis> SET animal "bear" OK redis> SET favorite_animal "butterfly" OK redis> RENAMENX animal favorite_animal (integer) 0 redis> get animal "bear" redis> get favorite_animal "butterfly"