您好,登錄后才能下訂單哦!
這篇文章主要講解了“LRU與LFU的區別是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“LRU與LFU的區別是什么”吧!
常見的緩存剔除策略有
FIFO(First In First Out) 先進先出,淘汰最早數據。
LRU (Least Recently Used)剔除最近最少使用。
LFU (Least Frequently Used)剔除最近使用頻率最低的數據。
FIFO 先進先出好理解,LRU與LFU讓人有點迷糊,百度百科的解釋傻傻有點分不清楚。
找了些資料,舉個例子來理理。
如果緩存中有數據如下:
姚毛毛 | 沉默王二 | 純潔的微笑
而緩存中只能存放3個數據,現在需要新增一個數據:
java極客技術
意味著要剔除一個緩存數據。
而此時的緩存記錄了最近一段時間的訪問順序,從最遠到最近,依次是:
姚毛毛 | 沉默王二 | 姚毛毛 | 純潔的微笑 | 姚毛毛 | 沉默王二 | 純潔的微笑
按照LRU規則,會將姚毛毛淘汰,因為是最長時間未被使用的,“沉默王二” 、“純潔的微笑”都在“姚毛毛”其后被使用過。
所以LRU的缺點也很明顯,高頻率但最近未被使用數據可能會被剔除。
可能會由于一次冷數據的批量查詢而誤導大量熱點的數據。
感謝各位的閱讀,以上就是“LRU與LFU的區別是什么”的內容了,經過本文的學習后,相信大家對LRU與LFU的區別是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。