前文已经提及过Redis中对于键值对操作的一些命令,如DEL、EXPIRE / PEXPIRE、TTL / PTTL以及EXISTS。今天我们继续介绍Redis中对键值对操作的相关命令。
TYPE
TYPE命令用于获取指定键值对的类型,返回的值有string、list、set、zset、hash以及stream。当键值对不存在时返回none。
TYPE key
示例
redis> SET key1 "value"
OK
redis> LPUSH key2 "value"
(integer) 1
redis> SADD key3 "value"
(integer) 1
redis> TYPE key1
string
redis> TYPE key2
list
redis> TYPE key3
set
redis> TYPE key4
none
RENAME / RENAMENX
RENAME命令用于将指定键名重命名,并在键值对不存在时返回一个错误。若新的键名已存在,将会覆盖旧值(无论旧值是否和新值是同一类型)。当Redis版本小于等于3.2.0时,若新键名与旧键名相同将返回错误。
RENAME key newkey
若原键key有关联过期时间,则无论新键是否关联有过期时间,都将被覆盖。
当新键名已经存在时,执行RENAME命令时会先隐式地调用DEL操作删除对应的键值对,再执行重命名的操作。
RENAMENX命令与RENAME相似,二者的区别为RENAMENX仅在新键名不存在的情况下才完成重命名的操作。若新键名newkey已存在将会返回0,否则在正确完成重命名操作后返回0。同样,当原键名不存在时将返回错误。
RENAMENX key newkey
示例
redis> SET greeting "hello"
OK
redis> RENAME greeting my-greeting
OK
redis> EXISTS greeting
(integer) 0
redis> EXISTS my-greeting
(integer) 1
redis> RENAME greeting new-greeting
(error) ERR no such key
当键名key1和key2都且类型不同时,使用

本文介绍了Redis中关于键值对操作的多个命令,包括获取键类型(TYPE)、重命名键(RENAME/RENAMENX)、移除键过期时间(PERSIST)、设置过期时间(EXPIREAT/PEXPIREAT)、查找键(KEYS)、增量迭代键(SCAN)、随机获取键(RANDOMKEY)以及删除键(UNLINK)。这些命令涵盖了键的检查、管理、查找和删除等多个方面。
最低0.47元/天 解锁文章
1757

被折叠的 条评论
为什么被折叠?



