Redis RENAME命令

Redis RENAME命令教程

Redis RENAME 命令用于将 Redis 中的 KEY 重命名为 NEWKEY 。当 KEY 和 NEWKEY 相同,或者 KEY 不存在时,返回一个错误。当 NEWKEY 已经存在时,RENAME 命令将覆盖旧值。

Redis RENAME命令详解

语法

192.168.98.70:6379> RENAME KEY NEWKEY

参数

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

返回值

改名成功时提示 OK ,失败时候返回一个错误。

时间复杂度

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

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

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 RENAME 命令用于将 Redis 中的 KEY 重命名为 NEWKEY 。Redis RENAME 命令语法:

192.168.98.70:6379> RENAME KEY NEWKEY