1. 程式人生 > >緩存算法:LRU、LFU、FIFO

緩存算法:LRU、LFU、FIFO

eas 先來 原則 公平性 實現 意思 rec -type 一個數

  • LRU全稱是Least Recently Used,即最近最久未使用的意思。如果一個數據在最近一段時間沒有被訪問到,那麽在將來它被訪問的可能性也很小。也就是說,當限定的空間已存滿數據時,應當把最久沒有被訪問到的數據淘汰。
  • LFU(Least Frequently Used)最近最少使用算法。它是基於“如果一個數據在最近一段時間內使用次數很少,那麽在將來一段時間內被使用的可能性也很小”的思路。
    註意LFU和LRU算法的不同之處,LRU的淘汰規則是基於訪問時間,而LFU是基於訪問次數的。
  • FIFO(First in First out),先進先出。其實在操作系統的設計理念中很多地方都利用到了先進先出的思想,比如作業調度(先來先服務),為什麽這個原則在很多地方都會用到呢?因為這個原則簡單、且符合人們的慣性思維,具備公平性,並且實現起來簡單,直接使用數據結構中的隊列即可實現。在FIFO Cache設計中,核心原則就是:如果一個數據最先進入緩存中,則應該最早淘汰掉。

參考:http://www.cnblogs.com/dolphin0520/p/3749259.html

緩存算法:LRU、LFU、FIFO