# 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
    
  • 支持:否

  • 说明:在另一个线程中异步删除一个键,否则它就像DEL一样,但非阻塞。

  • 示例:

    
    

# wait

  • 支持:否

  • 说明:等待同步复制当前连接上下文中发送的所有写命令。

  • 示例:

    
    

# waitaof

  • 支持:否

  • 说明:会阻止当前客户端,直到该客户端之前的所有写入命令都被确认为已同步到本地 Sudis 的 AOF 和/或至少指定数量的副本。

  • 示例: