1. 程式人生 > >基於最少使用頻次的LRU,LFU快取淘汰演算法

基於最少使用頻次的LRU,LFU快取淘汰演算法

概念分析

   LFU(Least Frequently Used)即最近最不常用.看名字就知道是個基於訪問頻次的一種演算法。以前寫過幾篇關於用python實現lru演算法的模組,有興趣的朋友可以看看。 LRU是基於時間的,會將時間上最不常訪問的資料給淘汰,在演算法表現上是放到列表的頂部;LFU為將頻率上最不常訪問的資料淘汰.既然是基於頻率的,就需要有儲存每個資料訪問的次數.從儲存空間上,較LRU會多出一些持有計數的空間.

   LFU演算法認為”如果資料過去訪問頻率很高,那麼將來被訪問的頻率也很高“.  其實我個人對於快取用的最多的是 Lru和Fifo ,LFU更加偏向於隨機性比較大的場景。