溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Redis(五):關于過期鍵(1)過期鍵的設置、獲取和刪除過

發布時間:2020-02-27 01:35:58 來源:網絡 閱讀:6886 作者:linuxjavachen 欄目:系統運維

設置過期


默認情況下鍵是沒有生存時間的,也就是永不過期,除非清空內存。

設置的鍵的生存時間也很容易,可以通過4個命令設置(任選一即可):EXPIRE、PEXPIRE、EXPIREAT、PEXPIREAT命令,這4個命令看起來不同但是背后實現原理都是一樣的。常用的其實就是EXPIREPEXPIRE這兩個,前者是以秒設置過期時間,后者是以毫秒。

以秒來設置,設置aaa這個鍵1秒后過期,1秒中以后再獲取aaa這個鍵則返回空。

Redis(五):關于過期鍵(1)過期鍵的設置、獲取和刪除過

以毫秒來設置,設置bbb這個鍵10毫秒后過期。

Redis(五):關于過期鍵(1)過期鍵的設置、獲取和刪除過

命令說明
EXPIREkey #sKEY的生存時間設置為#
PEXPIREkey #msKEY的生存時間設置為#毫秒
EXPIREATkey timestampKEY的生存時間設置為UNIX時間戳,單位為秒
PEXPIREATkey timestampKEY的生存時間設置為UNIX時間戳,單位為毫秒

上面這4個命令只是單位和表現形式上的不同,但實際上EXPIRE、PEXPIRE以及EXPIREAT命令的執行最后都會使用PEXPIREAT來實行。

比如使用EXPIRE來設置KEY的生存時間為N秒,那么后臺是如何運行的呢:

  • 它會調用PEXPIRE命令把N秒轉換為M毫秒

  • 然后獲取當前的UNIX時間單位也是毫秒

  • 把當前UNIX時間加上M毫秒傳遞給PEXPREAT

給鍵設置了過期時間,這個時間保存在一個字典里,也是鍵值結構,鍵是一個指針,指向真實的鍵,而值這是一個長整型的UNIX時間。


獲取鍵的過期時間


如何查看一個鍵的生存時間多多少呢?可以使用ttl key來獲?。ㄒ悦雭盹@示),如下圖:

Redis(五):關于過期鍵(1)過期鍵的設置、獲取和刪除過

另外還有一個命令是pttl key這個是以毫秒顯示。


清除鍵的過期時間


可以使用PERSIST命令移除一個鍵的過期時間,如下圖:

Redis(五):關于過期鍵(1)過期鍵的設置、獲取和刪除過


過期時間返回值的說明


通過ttl可以獲取一個鍵的整數返回值

說明
-2過期且已刪除
-1沒有過期時間設置,即永不過期
>0表示距離過期還有多少秒或者毫秒
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女