目錄
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到期後不去主動檢測,而...