LRU Cache 最近最少使用緩存算法

作用

LRU(Least Recently Used) Cache,直譯爲 最近最少使用 緩存算法。
因Cache的資源容量是寶貴而有限的,當有新的內容需要添加到緩存中時,就需要捨棄一部分原有的內容,LRU的原則就是將最近最少使用的內容替換掉。

實現數據結構

典型的實現方法爲: Hash map + 雙向鏈表
雙向鏈表: 用來存儲帶有時間戳的數據節點,當需要訪問或者插入一個節點時,都插入到列表的頭部,這樣可以保證靠近表頭的節點都是使用比較活躍、最近一段時間內可能還會使用的,而靠近鏈表尾部的節點自然就是最近一段時間內沒有被訪問過的,當Cache滿時,就優先替換掉鏈表尾部的節點。
哈希表用於快速獲取節點,達到訪問時間複雜度爲 O(1)O(1).

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章