redis過期策略

2021-06-29 13:20:10 字數 730 閱讀 3536

1、noeviction:一旦記憶體滿則返回錯誤

2、allkeys-lru:對所有的key進行lru

3、volatile-lru:只對設定了過期的key進行lru(預設的方式)

4、allkeys-random:隨機剔除乙個key

5、volatile-random:對設定過期的key進行隨機剔除乙個

6、volatile-ttl:刪除即將過期的key

根據官網的描述,redis使用的lru並非真正的lru演算法,精確度並不高。redis3.0版本的lru會維持乙個候選池,效能會更加好。

1、設定例項的記憶體大小(本地執行可以不用-h $host,單位是b)

redis-cli -h $host -p $port config set maxmemory 1024 

2、獲取例項的記憶體大小

redis-cli -h $host -p $port config get maxmemory

3、設定過期策略

redis-cli -h $host -p $port config set maxmemory-policy volatile-lru

4、檢視過期策略

redis-cli -h $host -p $port config get maxmemory-policy

說明:測試過volatile-lru,確實在滿了之後如果有設定了過期時間的key就會執行lru,可以繼續插入。如果沒有設定了過期時間的key了就會報錯

Redis過期策略

1,設定過期時間 expire key time 單位為秒 setex string key,int seconds,string value 字串獨有的方式 注意 過期key的判定 檢查給定key是否存在於過期字典,如果存在,那麼取得key的過期時間。檢查當前unix時間戳是否大於key的過期時間...

Redis 過期策略

redis 缺省會每秒進行十次過期掃瞄,過期掃瞄不會遍歷過期字典中所有的 key,而是採用了一種簡單的貪心策略。從過期字典中隨機 20 個 key 刪除這 20 個 key 中已經過期的 key 如果過期的 key 比率超過 1 4,那就重複步驟 1 同時,為了保證過期掃瞄不會出現迴圈過度,導致執行...

redis過期策略

expire key second 這是常用的,以秒為單位 pexpire key millisecond 單位是毫秒 expireat key timestamp 將key的過期時間設定為timestamp代表的秒數的時間戳 pexpireat key millisecond timestamp ...