Redis(四)[數據庫操作-鍵命令]

在這裏插入圖片描述
redis官方地址:

https://redis.io/

redis中文官方地址:

http://redis.cn/

redis文檔地址:

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章