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