# Key Commands
# copy
支持:否
说明:将存储在键处的值复制到键。
示例:
# del
支持:是
说明:删除指定的密钥。 如果密钥不存在,则忽略该键。
示例:
> SET key1 "Hello" OK > SET key2 "World" OK > DEL key1 key2 key3 (integer) 2
# dbsize
支持:是
说明:返回当前数据库中key的数量.
示例:
> DBSIZE (integer) 4
# dump
支持:否
说明:以特定于 Redis 的格式序列化存储在键的值,并将其返回到 用户。
示例:
# exists
支持:是
说明:用于检查给定 key 是否存在。
示例:
> SET key1 "Hello" OK > EXISTS key1 (integer) 1 > EXISTS nosuchkey (integer) 0 > SET key2 "World" OK > EXISTS key1 key2 nosuchkey (integer) 2
# expire
支持:是
说明:设置 key 的过期时间,key 过期后将不再可用。单位以秒计。
示例:
> SET mykey "Hello World" OK > EXPIRE mykey 100 (integer) 1 > TTL mykey (integer) 50 > TTL mykey (integer) -2
# expireat
支持:是
说明:用于以 UNIX 时间戳(unix timestamp)格式设置 key 的过期时间。key 过期后将不再可用。
示例:
> SET mykey "Hello" OK > EXPIREAT mykey 1704038400 (integer) 1 > TTL mykey (integer) 5731200
# expiretime
支持:否
说明:返回给定密钥将过期的绝对 Unix 时间戳,以秒为单位。
示例:
# keys
支持:是
说明:查找所有符合给定模式 pattern 的 key 。
示例:
> keys * 1) "a1" 2) "ak" 3) "k2" 4) "a2" 5) "k1" > keys a? 1) "a1" 2) "ak" 3) "a2" > keys k* 1) "k2" 2) "k1"
# migrate
支持:否
说明:以原子方式将密钥从源 Sudis实例传输到目标 Sudis实例。
示例:
# move
支持:是
说明:将当前数据库的 key 移动到给定的数据库 db 当中。
示例:
> SET mykey "Hello World" OK > MOVE mykey 1 (integer) 1 > SELECT 1 OK [1]> GET mykey "Hello World"
# object encoding
支持:否
说明:返回给定 key 所存储的值所使用的底层数据结构。
示例:
# object freq
支持:否
说明:返回存储在的 Sudis对象的对数访问频率计数器。
示例:
# object idletime
支持:否
说明:用于返回给定 key 自存储以来的空闲时间,以秒为单位。
示例:
# object refcount
支持:否
说明:返回给定 key 引用所存储的值的次数。
示例:
# persist
支持:是
说明:用于移除给定 key 的过期时间,使得 key 永不过期。
示例:
> SET mykey "Hello" OK > EXPIRE mykey 100 (integer) 1 > TTL mykey (integer) 90 > PERSIST mykey (integer) 1 > TTL mykey (integer) -1
# pexpire
支持:是
说明: 和 EXPIRE 命令的作用类似,但是它以毫秒为单位设置 key 的生存时间。
示例:
> SET mykey "Hello" OK > PEXPIRE mykey 150000 (integer) 1 > TTL mykey (integer) 142 > PTTL mykey (integer) 130829
# pexpireat
支持:是
说明:和 EXPIREAT 命令的作用类似,以毫秒计。key 过期后将不再可用。
示例:
> PEXPIREAT mykey 1704038400000 (integer) 1 > TTL mykey (integer) 5662371 > PTTL mykey (integer) 5662362287
# pexpiretime
支持:否
说明:和 PEXPIRETIME 命令的作用类似,以 UNIX 时间戳(unix timestamp)格式设置 key 的过期时间。
示例:
# pttl
支持:是
说明:以毫秒为单位返回 key 的剩余过期时间。
示例:
> SET mykey "Hello" OK > EXPIRE mykey 10 (integer) 1 > PTTL mykey (integer) 7791
# randomkey
支持:否
说明:从当前数据库中随机返回一个 key 。
示例:
# rename
支持:是
说明:用于修改 key 的名称
示例:
> SET mykey "Hello" OK > RENAME mykey myotherkey OK > GET myotherkey "Hello"
# renamenx
支持:是
说明:用于在新的 key 不存在时修改 key 的名称。
示例:
> SET mykey "Hello" OK > SET myotherkey "World" OK > RENAMENX mykey myotherkey (integer) 0 > GET myotherkey "World"
# restore
支持:否
说明:创建与通过反序列化 提供的序列化值。
示例:
# scan
支持:是
说明:用于迭代数据库中的数据库键。
示例:
> scan 0 1) "0" 2) 1) "k5" 2) "k2" 3) "k1" 4) "k3" 5) "k4"
# sort
支持:否
说明:对列表、集合或者有序集合中的元素进行排序。
示例:
# sort_ro
支持:否
说明:对列表、集合或者有序集合中的元素进行排序。sort的只读变体。
示例:
# touch
支持:否
说明:更改密钥的最后访问时间,返回指定的现有键的数量。
示例:
# ttl
支持:是
说明:以秒为单位返回 key 的剩余过期时间。
示例:
> SET mykey "Hello" OK > EXPIRE mykey 100 (integer) 1 > TTL mykey (integer) 90
# type
支持:是
说明:确定存储在key的类型。
示例:
> SET key1 "value" OK > LPUSH key2 "value" (integer) 1 > SADD key3 "value" (integer) 1 > TYPE key1 string > TYPE key2 list > TYPE key3 set
# unlink
支持:否
说明:在另一个线程中异步删除一个键,否则它就像DEL一样,但非阻塞。
示例:
# wait
支持:否
说明:等待同步复制当前连接上下文中发送的所有写命令。
示例:
# waitaof
支持:否
说明:会阻止当前客户端,直到该客户端之前的所有写入命令都被确认为已同步到本地 Sudis 的 AOF 和/或至少指定数量的副本。
示例: