Redis 键命令用于管理 redis 的键. 原文redis
语法数据库
COMMAND key [key ...]
删除指定键, 返回被删除键的数量, 若键不存在直接忽略. 官方文档数据结构
语法dom
DEL key [key ...]
返回值编码
示例调试
redis> SET key1 "Hello" "OK" redis> SET key2 "World" "OK" redis> DEL key1 key2 key3 (integer) 2
检测指定键是否存在. 官方文档code
语法对象
EXISTS key [key ...]
返回值排序
示例ip
redis> SET key1 "Hello" "OK" redis> EXISTS key1 (integer) 1 redis> EXISTS nosuchkey (integer) 0 redis> SET key2 "World" "OK" redis> EXISTS key1 key2 nosuchkey (integer) 2
设置键 key 的有效期, 若 key 有效期已存在则更新. 过了有效期后, 键 key 会被自动删除 官方文档
语法
EXPIRE key seconds
返回值
示例
redis> SET mykey "Hello" "OK" redis> EXPIRE mykey 10 (integer) 1 redis> TTL mykey (integer) 10 redis> TTL mykey -- 10 秒执行 (integer) -2 -- key 不存在返回 -2 redis> SET mykey "Hello World" "OK" redis> TTL mykey (integer) -1 -- key 没有有效期关联返回 -1
PEXPIRE 同 EXPIRE, 区别 PEXPIRE 单位为毫秒
功能相似 EXPIRE, 不过此命令设置的有效期是时间点, 值为自1970年1月1日以来的秒数. 官方文档
语法
EXPIREAT key timestamp
返回值
示例
redis> SET mykey "Hello" "OK" redis> EXISTS mykey (integer) 1 redis> EXPIREAT mykey 1293840000 (integer) 1 redis> EXISTS mykey (integer) 0
PEXPIREAT 同 EXPIREAT, 区别 PEXPIREAT 单位为毫秒
返回全部匹配指定模式的 KEY. 该指令一般用于调试问题, 尽可能避免在应用代码中使用, 如有相似需求能够考虑使用 SCAN 命令或者 sets 数据结构. 官方文档
语法
KEYS pattern
支持的模式 pattern 的规则以下:
返回值
示例
redis> MSET firstname Jack lastname Stuntman age 35 "OK" redis> KEYS *name* 1) "lastname" 2) "firstname" redis> KEYS a?? 1) "age" redis> KEYS * 1) "lastname" 2) "age" 3) "firstname"
迁移指定 KEY. 官方文档
语法
MIGRATE host port key|"" destination-db timeout [COPY] [REPLACE] [KEYS key [key ...]]
选项
返回值
实例
MIGRATE 192.168.1.34 6379 "" 0 5000 KEYS key1 key2 key3
将指定 KEY 移至指定 DB. 官方文档
语法
MOVE key db
返回值
查看 Redis 的内部对象, 一般用于调试. 官方文档
语法
OBJECT subcommand [arguments [arguments ...]]
OBJECT 命令支持的子命令:
示例
redis> lpush mylist "Hello World" (integer) 4 redis> object refcount mylist (integer) 1 redis> object encoding mylist "ziplist" redis> object idletime mylist (integer) 10
移除 key 的过时时间. 官方文档
语法
PERSIST key
返回值
示例
redis> SET mykey "Hello" "OK" redis> EXPIRE mykey 10 (integer) 1 redis> TTL mykey (integer) 10 redis> PERSIST mykey (integer) 1 redis> TTL mykey (integer) -1
从当前数据库中返回一个随机 KEY. 官方文档
返回值
重命名 KEY, 若新 KEY 已存在则会被覆盖. 官方文档
语法
RENAME key newkey
示例
redis> SET mykey "Hello" "OK" redis> RENAME mykey myotherkey "OK" redis> GET myotherkey "Hello"
重命名 KEY, 若新 KEY 已存在则会出错. 官方文档
语法
RENAMENX key newkey
示例
redis> SET mykey "Hello" "OK" redis> SET myotherkey "World" "OK" redis> RENAMENX mykey myotherkey (integer) 0 redis> GET myotherkey "World"
遍历当前数据库 key. 官方文档
语法
RENAMENX cursor
返回值
示例
redis> SET mykey "Hello" "OK" redis> SET myotherkey "World" "OK" redis> RENAMENX mykey myotherkey (integer) 0 redis> GET myotherkey "World"
排序数据结构 list, set, sorted set 的 key. 官方文档
示例
SORT mylist # 默认升序 key 为数字 SORT mylist DESC # 降序 key 为数字 SORT mylist ALPHA # 字典序 key 为字符串 SORT mylist LIMIT 0 10 # 分页 SORT mylist LIMIT 0 5 ALPHA DESC # 选项组合 SORT mylist BY weight_* # 外部 KEY 排序 weight_1, weight_2, ... SORT mylist BY nosort # 跳过排序 KEY, 获取外部 KEY SORT mylist BY weight_* GET object_* # 获取指定外部 KEY, GET 选项能够使用屡次, 获取 GET 自己使用模式符 #, 如: SORT mylist BY weight_* GET object_* GET # SORT mylist BY weight_* STORE resultkey # 存贮排序结果 SORT mylist BY weight_*->fieldname GET object_*->fieldname # 指定对象排序的 KEY
更新 KEY 的最后访问时间, 若 KEY 不存在则忽略. 官方文档
语法
TOUCH key [key ...]
返回值
示例
redis> SET key1 "Hello" "OK" redis> SET key2 "World" "OK" redis> TOUCH key1 key2 (integer) 2
获取的 KEY 的过时时间. 官方文档
语法
TTL key
返回值
示例
redis> SET mykey "Hello" "OK" redis> EXPIRE mykey 10 (integer) 1 redis> TTL mykey (integer) 10
** PTTL 同 TTL, 区别 PTTL 返回时间单位是毫秒**
获取指定 KEY 的数据类型. 官方文档
语法
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"
同 DEL 指令, UNLINK 是从 KEY 空间中移除指定 KEY, 是内存级删除非阻塞. 实际删除将在后续持久化中发生. 官方文档
语法
UNLINK key [key ...]
返回值
示例
redis> SET key1 "Hello" "OK" redis> SET key2 "World" "OK" redis> UNLINK key1 key2 key3 (integer) 2
阻塞当前客户端直到以前全部写命令被成功备份或到达指定的备份命令的数量, 若指定的超时(单位毫秒)到达将返回还未成功备份的命令数量. 官方文档
语法
WAIT numreplicas timeout
返回值
示例
> SET foo bar OK > WAIT 1 0 (integer) 1 > WAIT 2 1000 (integer) 1