Redis RENAME 命令用于将 Redis 中的 KEY 重命名为 NEWKEY 。当 KEY 和 NEWKEY 相同,或者 KEY 不存在时,返回一个错误。当 NEWKEY 已经存在时,RENAME 命令将覆盖旧值。
192.168.98.70:6379> RENAME KEY NEWKEY
参数 | 描述 |
---|---|
KEY | 原来的键名。 |
NEWKEY | 要重命名为的键名。 |
改名成功时提示 OK ,失败时候返回一个错误。
O(1)
>= 1.0.0
KEY 存在 NEWKEY 不存在时,重命名成功
# KEY 存在 NEWKEY 不存在
192.168.98.70:6379> SET haicoder.net Redis
OK
192.168.98.70:6379> EXISTS haicoder
(integer) 0
192.168.98.70:6379> RENAME haicoder.net haicoder
OK
192.168.98.70:6379> GET haicoder
"Redis"
192.168.98.70:6379> DEL haicoder
(integer) 1
使用 SET 命令,设置 haicoder.net 的值为 Redis。使用 EXISTS 命令,检查 haicoder 不存在。
使用 RENAME 命令,将 haicoder.net 重命名为 haicoder。使用 GET 命令,获取 haicoder 的值为原来 haicoder.net 的值。
KEY 不存在 RENAME 返回错误。
# KEY 不存在
192.168.98.70:6379> EXISTS haicoder.net
(integer) 0
192.168.98.70:6379> RENAME haicoder.net haicoder
(error) ERR no such KEY
我们首先,使用 EXISTS 命令,查看 haicoder.net 是否存在,返回 0 表示不存在。接着,我们再次使用 RENAME 命令,将 haicoder.net 重命名为 haicoder,返回错误。
KEY 存在 NEWKEY 也存在时,NEWKEY 的值会被覆盖
# KEY 存在 NEWKEY 也存在
192.168.98.70:6379> SET haicoder.net Redis
OK
192.168.98.70:6379> SET haicoder Mongo
OK
192.168.98.70:6379> RENAME haicoder.net haicoder
OK
192.168.98.70:6379> GET haicoder.net
(nil)
192.168.98.70:6379> GET haicoder
"Redis"
192.168.98.70:6379> DEL haicoder
(integer) 1
我们首先,使用 SET 命令,设置 haicoder.net 的值为 Redis。接着,再次使用 SET 命令,设置 haicoder 的值为 Mongo。
接着,使用 RENAME 命令,将 haicoder.net 重命名为 haicoder。使用 GET 命令,获取 haicoder.net 的值变成了 nil。
最后,使用 GET 命令,获取 haicoder 的值,我们看到被覆盖成了 Redis。
Redis RENAME 命令用于将 Redis 中的 KEY 重命名为 NEWKEY 。Redis RENAME 命令语法:
192.168.98.70:6379> RENAME KEY NEWKEY