- 過期政策
Redis 的過期政策就是指當Redis中緩存的Key過期了,Redis如何處理的。
1.定時過期:每個設定過期時間的 Key 建立定時器,到過期時間立即清除。記憶體友好,CPU不友好
2.惰性過期:通路Key時判斷是否過期,過期則清除。CPU友好記憶體不友好
3.定期過期:隔一定時間,expires字典中掃描一定數量的Key,清除其中已過期的Key。記憶體和CPU資源達到最優的平衡效果
- 記憶體淘汰機制
記憶體淘汰機制就可以保證在redis記憶體在占用過高的時候,去進行記憶體淘汰,也就是删除部分key,
保證redis的記憶體占用率不會過高。Redis目前共提供了8種記憶體淘汰機制。
no-eviction:新寫入操作會報錯。
allkeys-lru:移除最近最少使用的key,這個是最常用的。
allkeys-random:随機移除某些 key。
allkeys-lfu:移除最不經常(最少)使用的key。
volatile-lru:在設定了過期時間的key中,移除最近最少使用的key。
volatile-random:在設定了過期時間的key中,随機移除某些key 。
volatile-lfu:在設定了過期時間的key中,移除最不經常(最少)使用的key。
volatile-ttl:在設定了過期時間的鍵中,有更早過期時間的 key 優先移除。