https://redis.io/
http://redis.cn/
http://redis.cn/documentation.html
前提:
必須已經使用redis-cli連上redis-server
1.KEYS
KEYS pattern
查找所有符合給定模式pattern(正則表達式)的 key 。
時間複雜度爲O(N),N爲數據庫裏面key的數量。
查找所有
keys *
查找特定鍵
keys *key*
2.EXISTS
EXISTS key [key ...]
返回key是否存在。支持多個鍵查詢,存在則返回存在的個數。
返回值 | 說明 |
---|---|
1 | key存在 |
0 | key不存在 |
3.TYPE
TYPE key
返回key所存儲的value的數據結構類型,它可以返回string, list, set, zset 和 hash等不同的類型。
因爲redis的鍵都是string類型的,所以查看的必然是鍵對應的值的數據類型,只能進行單個查詢,不能支持多個鍵查詢。
返回值 | 說明 |
---|---|
string/list/set/zset/hash等不同的類型 | key存在,返回當前key的數據類型 |
none | key不存在 |
4.DEL
DEL key [key ...]
刪除指定的一批keys,如果刪除中的某些key不存在,則直接忽略。
返回值 | 說明 |
---|---|
數值 | 被刪除的keys的數量 |
5.EXPIRE
EXPIRE key seconds
設置key的過期時間,超過時間後,將會自動刪除該key。在Redis的術語中一個key的相關超時是不確定的。
超時後只有對key執行DEL命令或者SET命令或者GETSET時纔會清除。 這意味着,從概念上講所有改變key的值的操作都會使他清除。 例如,INCR遞增key的值,執行LPUSH操作,或者用HSET改變hash的field所有這些操作都會觸發刪除動作。
使用PERSIST命令可以清除超時,使其變成一個永久的key。
如果key被RENAME命令修改,相關的超時時間會轉移到新key上面。
如果key被RENAME命令修改,比如原來就存在Key_A,然後調用RENAME Key_B Key_A命令,這時不管原來Key_A是永久的還是設置爲超時的,都會由Key_B的有效期狀態覆蓋。
刷新過期時間
對已經有過期時間的key執行EXPIRE操作,將會更新它的過期時間。有很多應用有這種業務場景,例如記錄會話的session。
返回值 | 說明 |
---|---|
1 | 成功設置過期時間 |
0 | key不存在或者不能設置過期時間 |
6.PEXPIRE
PEXPIRE key milliseconds
這個命令和EXPIRE命令的作用類似,但是它以毫秒爲單位設置 key 的生存時間,而不像EXPIRE命令那樣,以秒爲單位。
返回值 | 說明 |
---|---|
1 | 設置key以毫秒爲單位的過期時間成功 |
0 | key不存在或者設置失敗 |
7.TTL
TTL key
返回key剩餘的過期時間。 這種反射能力允許Redis客戶端檢查指定key在數據集裏面剩餘的有效期。返回的是秒
返回值 | 說明 |
---|---|
整數 | key有效的秒數(剩餘的秒數) |
-1 | Redis 2.6和之前版本,如果key不存在或者已過期時返回-1 |
-1 / -2 | Redis2.8開始: 如果key不存在或者已過期,返回 -2; 如果key存在並且沒有設置過期時間(永久有效),返回 -1 |
8.PTTL
PTTL key
以毫秒爲單位返回 key 的剩餘生存時間。
返回值 | 說明 |
---|---|
整數 | key有效的毫秒(剩餘的毫秒數) |
-1 | Redis 2.6和之前版本,如果key不存在或者已過期時返回-1 |
-1 / -2 | Redis2.8開始: 如果key不存在返回-2; 如果key存在且無過期時間返回-1 |