Redis過期機制

2022-01-28 19:38:48 字數 782 閱讀 6851

目錄

ttl key : 獲取key的過期剩餘時間,不存在返回-2  無過期時間返回-1

pttl key : 同ttl,毫秒

expire key ttl : 將鍵的生存時間設為 ttl 秒

pexpire key ttl :將鍵的生存時間設為 ttl 毫秒

expireat key timestamp :將鍵的過期時間設為 timestamp 所指定的秒數時間戳

pexpireat key timestamp: 將鍵的過期時間設為 timestamp 所指定的毫秒數時間戳

persist key : 去除ttl屬性,不會過期

redis會週期性的隨機測試一批設定了過期時間的key,比如每隔100毫秒執行以下步驟:

1.隨機檢測100個設定了過期時間的key

2.刪除已過期的key

3.若刪除的key超過25個則重複步驟1

如果有大量的key同時到期,redis會持續重複上述操作,直到百分比降到25%以下,此操作會持續占用執行緒資源,導致阻塞

清除策略

1. volatile-lru:只對設定了過期時間的key進行lru(預設)

2. allkeys-lru : 刪除lru演算法的key

3. volatile-random:隨機刪除即將過期key

4. allkeys-random:隨機刪除

5. volatile-ttl : 刪除即將過期的

6. noeviction : 永不過期

redis過期機制

在實際開發過程中經常會遇到一些有時效性資料,比如限時優惠活動,快取或者驗證碼之類的。過了一段時間就需要刪除這些資料。在關係型資料庫中一般都要增加乙個字段記錄資料的到期時間,然後周期性地檢查過期資料然後刪除。redis本身就對鍵過期提供了很好的支援。在redis中可以使用expire命令設定乙個鍵的存...

Redis過期機制介紹

在實際開發過程中經常會遇到一些有時效性資料,比如限時優惠活動,快取或者驗證碼之類的。過了一段時間就需要刪除這些資料。在關係型資料庫中一般都要增加乙個字段記錄資料的到期時間,然後周期性地檢查過期資料然後刪除。redis本身就對鍵過期提供了很好的支援。在redis中可以使用expire命令設定乙個鍵的存...

Redis快取過期機制

redis可以通過設定乙個過期時間expire來處理快取,其中處理方式有兩種 主動 定期刪除,redis會抽查隨機的key,預設1秒十次,一旦抽查的key過期了,就會給刪除,配置的屬性在redis.conf中,hz等於10,表示1秒抽查10次 hz 10 被動 惰性刪除,key到期後不去主動檢測,而...