redis键重命名

命令:RENAME key newkey
键重命名。

127.0.0.1:6379> set test1 value1
OK
127.0.0.1:6379> rename test1 test2
OK 

如果键不存在会报错。重命名会执行键的删除操作,因此在键存储的value比较大时,要谨慎使用。

在集群模式下,key和newkey必须位于同一hash slot中,因此只有具有相同hash标记的密钥才能在集群中可靠地重命名。

在小于等于3.2.0版本中,如果key和newkey相同,则会报错。

如果在rename之前,键已经存在,那么它的值也将被覆盖

127.0.0.1:6379> set test1 value1
OK
127.0.0.1:6379> set test2 value2
OK
127.0.0.1:6379> get test1
"value1"
127.0.0.1:6379> get test2
"value2"
127.0.0.1:6379> rename test1 test2
OK
127.0.0.1:6379> get test1
(nil)
127.0.0.1:6379> get test2
"value1" 

为避免重命名覆盖已有键的问题,可应用命令renamenx,确保只有newkey不存在时候才能覆盖。

127.0.0.1:6379> set test1 value1
OK
127.0.0.1:6379> set test2 value2
OK
127.0.0.1:6379> renamenx test1 test2
(integer) 0
127.0.0.1:6379> get test1
"value1"
127.0.0.1:6379> get test2
"value2"
127.0.0.1:6379> renamenx test1 test3
(integer) 1
127.0.0.1:6379> get test1
(nil)
127.0.0.1:6379> get test3
"value1"
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容