Redis緩存淘汰策略

爲什麼會有淘汰?

Redis可以看作是一個內存數據庫,可以通過Maxmemory指令配置Redis的數據集使用指定量的內存。設置maxmemory爲0,則表示無限制(這是64位系統的默認行爲,而32位系統使用3GB內隱記憶極限)。

 

當內存使用達到maxmemory極限時,需要使用某種淘汰算法來決定清理掉哪些數據,以保證新數據的存入。

常用的淘汰算法:

FIFO:First In First Out,先進先出。判斷被存儲的時間,離目前最遠的數據優先被淘汰。
LRU:Least Recently Used,最近最少使用。判斷最近被使用的時間,目前最遠的數據優先被淘汰。
LFU:Least Frequently Used,最不經常使用。在一段時間內,數據被使用次數最少的,優先被淘汰。


Redis提供的淘汰策略: