FIFO LRU LFU三種演算法

2021-07-13 08:26:35 字數 469 閱讀 4151

提到快取,有兩點是必須要考慮的:(1

)快取資料和目標資料的一致性問題。(2

)快取的過期策略(機制)。

其中,快取的過期策略涉及淘汰演算法。常用的淘汰演算法有下面幾種:(1

)fifo

:firstin first out

,先進先出(2

)lru

:leastrecently used

,最近最少使用(3

)lfu

:leastfrequently used

,最不經常使用

注意lru

和lfu

的區別。

lfu演算法是根據在一段時間裡資料項被使用的次數選擇出最少使用的資料項,即根據使用次數的差異來決定。而

lru是根據使用時間的差異來決定的。

乙個優秀的快取框架必須實現以上的所有快取機制。例如:

ehcache

就實現了上面的所有策略。

FIFO LRU LFU三種快取演算法

先進先出,如果快取容量滿,則優先移出最早加入快取的資料 其內部可以使用佇列實現。1 object get key 獲取儲存的資料,如果資料不存在或者已經過期,則返回null。2 void put key,value,expiretime 加入快取,無論此key是否已存在,均作為新key處理 移除舊k...

FIFO LRU LFU三種快取演算法

先進先出,如果快取容量滿,則優先移出最早加入快取的資料 其內部可以使用佇列實現。1 object get key 獲取儲存的資料,如果資料不存在或者已經過期,則返回null。2 void put key,value,expiretime 加入快取,無論此key是否已存在,均作為新key處理 移除舊k...

三種排序演算法

1.氣泡排序法 2.選擇排序法 3.插入排序法 由小到大的順序 備註 網上筆試題,是參考網上別人的,具體出處找不到了,請諒解。摘抄記錄下來方便日後學習。如果有問題盡請批評指正,希望可以和大神一起交流。氣泡排序的最好的時間複雜度為o n 最壞的時間為 o n 2 演算法的平均時間複雜度為o n 2 選...