LFU(Least Frequently Used)算法根據數據的歷史訪問頻率來淘汰數據,其核心思想是「若是數據過去被訪問屢次,那麼未來被訪問的頻率也更高」。算法
經過一個隊列保存內容訪問頻次,全部數據按訪問頻次排序,想次次數的按時間排。須要淘汰數據的時候直接從隊列裏刪除頻次最小的。緩存
LRU(Least recently used,最近最少使用)算法根據數據的歷史訪問記錄來進行淘汰數據,其核心思想是「若是數據最近被訪問過,那麼未來被訪問的概率也更高」。spa
經過一個隊列記錄數據,新數據或再次訪問的老數據放在隊列頭,淘汰的時候從隊列尾淘汰。.net
LRU-K中的K表明最近使用的次數,所以LRU能夠認爲是LRU-1。LRU-K的主要目的是爲了解決LRU算法「緩存污染」的問題,其核心思想是將「最近使用過1次」的判斷標準擴展爲「最近使用過K次」。blog
經過兩個隊列記錄數據,一個是新數據隊列,另外一個是達到K次訪問的隊列,新數據隊列能夠經過FIFO方式處理也能夠根據LRU方式處理,當到達K次後移動到K次隊列。排序
http://blog.csdn.net/jake_li/article/details/50659868隊列
http://flychao88.iteye.com/blog/1977653it
http://blog.csdn.net/IT_YUAN/article/details/8488876ast