Redis RENAMENX 命令用于当且仅当 NEWKEY 不存在时,将 KEY 改名为 NEWKEY 。但当 KEY 不存在时,返回一个错误。
192.168.98.70:6379> RENAMENX KEY NEWKEY
参数 | 描述 |
---|---|
KEY | 原来的键名。 |
NEWKEY | 要重命名为的键名。 |
修改成功时,返回 1 。如果 NEWKEY 已经存在,返回 0 。
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> RENAMENX haicoder.net haicoder
(integer) 1
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。使用 EXISTS 命令,检查 haicoder 不存在。
再次,使用 RENAMENX 命令,将 haicoder.net 重命名为 haicoder。并使用 GET 命令,获取 haicoder.net 的值为 nil。
最后,我们使用 GET 命令,获取 haicoder 的值为原来 haicoder.net 的值。
KEY 不存在 RENAMENX 返回错误
# KEY 不存在
192.168.98.70:6379> EXISTS haicoder.net
(integer) 0
192.168.98.70:6379> RENAMENX haicoder.net haicoder
(error) ERR no such key
使用 EXISTS 命令,查看 haicoder.net 是否存在,返回 0 表示不存在。接着,使用 RENAMENX 命令,将 haicoder.net 重命名为 haicoder,返回错误。
KEY 存在 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> RENAMENX haicoder.net haicoder
(integer) 0
192.168.98.70:6379> GET haicoder.net
"Redis"
192.168.98.70:6379> GET haicoder
"Mongo"
192.168.98.70:6379> DEL haicoder
(integer) 1
我们首先,使用 SET 命令,设置 haicoder.net 的值为 Redis。使用 SET 命令,设置 haicoder 的值为 Mongo。接着,使用 RENAMENX 命令,将 haicoder.net 重命名为 haicoder,此时返回 0,表明没有重命名成功。
最后,使用 GET 命令,获取 haicoder.net 的值还是原来的 Redis。使用 GET 命令,获取 haicoder 的值还是原来的 Mongo。
Redis RENAMENX 命令用于当且仅当 NEWKEY 不存在时,将 KEY 改名为 NEWKEY 。Redis RENAMENX 命令语法:
192.168.98.70:6379> RENAMENX KEY NEWKEY