Redis 键命令用于管理 redis 的键,Redis 键命令的基本语法如下:
COMMAND KEY_NAME
实例:下面实例演示使用 set 命令向 Redis 添加一个 KEY,通过 get 命令获取 KEY 的数据,最后使用 del 命令删除 KEY。如果键被删除成功,命令执行后输出 (integer) 1,否则将输出 (integer) 0。如下:
127.0.0.1:6379> set mykey www.hxstrive.com OK 127.0.0.1:6379> get mykey "www.hxstrive.com" 127.0.0.1:6379> del mykey (integer) 1
下面给出了与 Redis 键相关的基本命令。
DEL 命令用于在 key 存在时删除 key,语法如下:
del key [key ...]
实例:
127.0.0.1:6379> set mykey www.hxstrive.com OK 127.0.0.1:6379> del mykey (integer) 1
DUMP 命令用于序列化给定 key,并返回被序列化的值。语法如下:
dump key
实例:
127.0.0.1:6379> set mykey www.hxstrive.com OK 127.0.0.1:6379> dump mykey "\x00\x10www.hxstrive.com\t\x00BI\x02\xdfU<\xfb\xbe"
EXISTS 命令用于检查给定 key 是否存在。如果存在则返回 (integer) 1,否则返回 (integer) 0。语法如下:
exists key [key ...]
实例:
# 判断 mykey 是否存在 127.0.0.1:6379> exists mykey (integer) 1 127.0.0.1:6379> exists mykey2 (integer) 0
EXPIRE 命令为给定 key 设置过期时间。语法如下:
expire key seconds
实例:
# 设置 mykey 的过期时间为 1000 秒 127.0.0.1:6379> expire mykey 1000 (integer) 1
EXPIREAT 命令的作用和 EXPIRE 类似,都用于为 key 设置过期时间。不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳 (unix timestamp)。语法如下:
expireat key timestamp
实例:
127.0.0.1:6379> expireat mykey 100000 (integer) 1
PEXPIRE 命令用来设置 key 的过期时间以毫秒计算。语法如下:
pexpire mykey key
实例:
127.0.0.1:6379> pexpire mykey 100000 (integer) 1
PEXPIREAT 命令用来设置 key 过期时间的时间戳 (unix timestamp) 以毫秒计。语法如下:
pexpireat mykey milliseconds-timestamp
实例:
127.0.0.1:6379> pexpireat mykey 10000000000000 (integer) 1
KEYS 命令用来查找所有符合给定模式 (pattern) 的 key。语法如下:
keys pattern
实例:
127.0.0.1:6379> keys my* 1) "mykey" 2) "myKey"
MOVE 将当前数据库的 key 移动到给定的数据库 db 当中。语法如下:
move key db
实例:
# 将 mykey 键移动到数据库 2 中 127.0.0.1:6379> move mykey 2 (integer) 1
PERSIST 命令用来移除 key 的过期时间,key 将持久保持。语法如下:
persist key
实例:
# 添加 mykey 127.0.0.1:6379> set mykey hello OK # 设置 mykey 过期时间 127.0.0.1:6379> expire mykey 1200 (integer) 1 # 移除 mykey 的持久化时间 127.0.0.1:6379> persist mykey (integer) 1
PTTL 命令用来以毫秒为单位返回 key 的剩余的过期时间。语法如下:
PTTL key
实例:
# 添加 mykey 127.0.0.1:6379> set mykey hello OK # 设置过期时间 127.0.0.1:6379> expire mykey 120 (integer) 1 # 获取 mykey 剩余的毫秒数 127.0.0.1:6379> pttl mykey (integer) 113963
TTL 命令以秒为单位,返回给定 key 的剩余生存时间 (TTL, time to live)。语法如下:
ttl key
实例:
# 添加 mykey 127.0.0.1:6379> set mykey hello OK # 设置 mykey 过期时间 127.0.0.1:6379> expire mykey 120 (integer) 1 # 以秒获取生存时间 127.0.0.1:6379> ttl mykey (integer) 116
RANDOMKEY 命令用来从当前数据库中随机返回一个 key 。语法如下:
RANDOMKEY
实例:
127.0.0.1:6379> randomkey "zsetkey" 127.0.0.1:6379> randomkey "mykey"
RENAME 命令用来修改 key 的名称,语法如下:
RENAME key newkey
实例:
127.0.0.1:6379> set mykey hello OK 127.0.0.1:6379> rename mykey new_mykey OK 127.0.0.1:6379> get new_mykey "hello"
RENAMENX 命令仅当 newkey 不存在时,将 key 改名为 newkey 。语法如下:
RENAMENX key newkey
实例:
# 添加 mykey 127.0.0.1:6379> set mykey hello OK # 重命名,new_mykey 已存在,重命名失败 127.0.0.1:6379> renamenx mykey new_mykey (integer) 0 # 重命名,new_mykey2 不存在,重命名成功 127.0.0.1:6379> renamenx mykey new_mykey2 (integer) 1
TYPE 返回 key 所储存的值的类型。语法如下:
TYPE key
实例:
# 添加 mykey 127.0.0.1:6379> set mykey hello OK # 返回 mykey 的数据类型 127.0.0.1:6379> type mykey string
更多命令请访问 https://redis.io/commands 进行参考。