Redis RENAMENX命令

Redis RENAMENX命令教程

Redis RENAMENX 命令用于当且仅当 NEWKEY 不存在时,将 KEY 改名为 NEWKEY 。但当 KEY 不存在时,返回一个错误。

Redis RENAMENX命令详解

语法

192.168.98.70:6379> RENAMENX KEY NEWKEY

参数

参数 描述
KEY 原来的键名。
NEWKEY 要重命名为的键名。

返回值

修改成功时,返回 1 。如果 NEWKEY 已经存在,返回 0 。

时间复杂度

O(1)

可用版本

>= 1.0.0

案例

KEY存在NEWKEY不存在

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不存在

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 也存在时,返回错误

# 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命令总结

Redis RENAMENX 命令用于当且仅当 NEWKEY 不存在时,将 KEY 改名为 NEWKEY 。Redis RENAMENX 命令语法:

192.168.98.70:6379> RENAMENX KEY NEWKEY