Redis 通用命令
KEYS
- 語法: KEYS pattern
- 功能: 返回所有匹配 pattern 的鍵
- 可以使用該命令的Redis版本: 1.0.0
- 時間復雜度: O(N) N指的是在數(shù)據(jù)庫中的鍵的數(shù)量
不建議在生成環(huán)境使用該命令,因為是掃描整個數(shù)據(jù)庫的鍵查詢,會造成阻塞
支持的全局樣式模式:
- h?llo 匹配 hello,hallo并且hxllo
- h*llo 匹配 hllo 和 heeeello
- h[ae]llo 匹配 hello 和 hallo,不匹配 hillo
- h[^e]llo 匹配 hallo, hbllo, ... 但不匹配 hello
- h[a-b]llo 匹配 hallo 和 hbllo
如果要逐字匹配特殊字符,請使用轉(zhuǎn)義字符 \
# 查看所有的鍵
127.0.0.1:6379> keys *
1) "age"
2) "color"
3) "gender"
4) "name"
# 查看以a開頭的鍵
127.0.0.1:6379> keys a*
1) "age"
# 查看包含a的鍵
127.0.0.1:6379> keys *a*
1) "age"
2) "name"
127.0.0.1:6379>
DEL
- 語法: DEL key [key ...]
- 功能: 刪除指定的鍵,如果鍵不存在,則忽略它
- 可以使用該命令的Redis版本: 1.0.0
- 時間復雜度: O(N) 其中 N 是要移除的鍵的數(shù)量, 當要刪除的鍵包含字符串以外的值時,該鍵的單個復雜度為 O(M),其中 M 是列表、集合、排序集或散列中的元素數(shù)。刪除包含字符串值的單個鍵是 O(1)。
示例:
127.0.0.1:6379> set name tom
OK
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379> del name
(integer) 1
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379>
EXISTS
- 語法: EXISTS key [key ...]
- 功能: 檢查指定的鍵是否存在
- 可以使用該命令的Redis版本: 1.0.0 (3.0.3版本之后才接受多個key)
- 時間復雜度: O(N) N指的是要檢查的鍵的數(shù)量
- 返回一個整數(shù), 它指的是要檢查的鍵中, 存在的鍵的個數(shù)
示例:
127.0.0.1:6379> keys *
1) "age"
2) "name"
127.0.0.1:6379> EXISTS name
(integer) 1
127.0.0.1:6379> EXISTS name age
(integer) 2
127.0.0.1:6379> EXISTS gender
(integer) 0
127.0.0.1:6379> EXISTS name gender
(integer) 1
127.0.0.1:6379>
EXPIRE
- 語法: EXPIRE key seconds [ NX | XX | GT | LT]
- 功能: 設置鍵的超時時間(單位/秒),超時后,鍵被自動刪除
- 可以使用該命令的Redis版本: 1.0.0
- 時間復雜度: O(1)
- 返回一個整數(shù)
- 1 如果超時被設置成功
- 0 如果超時被設置失敗 (例如:鍵不存在,或者由于提供的參數(shù)而跳過了操作)
*注意: 這個超時的設置只會被刪除或覆蓋鍵內(nèi)容的命令清除,包括 DEL, SET, GETSET 和 所有的 STORE 命令。
這意味著,所有在概念上更改存儲在鍵中的值而不使用新值替換的操作都將保持超時不變。
例如: 使用 INCR 增加鍵的值, 使用 LPUSH 向列表壓入新的值,或者使用 HSET 修改散列的字段值, 這些操作都不會影響超時時間。
TTL
- 語法: TTL key
- 功能: 返回具有超時的鍵的剩余生存時間(單位/秒)
- 可以使用該命令的Redis版本: 1.0.0
- 時間復雜度: O(1)
- 返回一個整數(shù), 以秒為單位的 TTL
- 如果鍵不存在,該命令將返回 -2 (2.8.0 版本增加的)
- 如果鍵存在但沒有關聯(lián)的過期,則該命令返回 -1
示例:
127.0.0.1:6379> SET name tom
OK
127.0.0.1:6379> EXPIRE name 100
(integer) 1
127.0.0.1:6379> TTL name
(integer) 98
127.0.0.1:6379> SET age 22
OK
127.0.0.1:6379> TTL age
(integer) -1
127.0.0.1:6379>

浙公網(wǎng)安備 33010602011771號