快取淘汰演算法 LRU演算法

2021-07-11 20:59:52 字數 448 閱讀 4429

lru(least recently used,最近最少使用)演算法根據資料的歷史訪問記錄來進行淘汰資料,其核心思想是「如果資料最近被訪問過,那麼將來被訪問的機率也更高」。

最常見的實現是使用乙個鍊錶儲存快取資料,詳細演算法實現如下:

新資料插入到鍊錶頭部;

每當快取命中(即快取資料被訪問),則將資料移到鍊錶頭部;

當鍊表滿的時候,將鍊錶尾部的資料丟棄。

【命中率】

當存在熱點資料時,lru的效率很好,但偶發性的、週期性的批量操作會導致lru命中率急劇下降,快取汙染情況比較嚴重。

【複雜度】

實現簡單。

【代價】

命中時需要遍歷鍊錶,找到命中的資料塊索引,然後需要將資料移到頭部。

LRU演算法 快取淘汰演算法

lru least recently used,最近最少使用 演算法根據資料的歷史訪問記錄來進行淘汰資料,其核心思想是 如果資料最近被訪問過,那麼將來被訪問的機率也很高 反過來說 如果資料最近這段時間一直都沒有訪問,那麼將來被訪問的概率也會很低 兩種理解是一樣的 常用於頁面置換演算法,是為虛擬頁式儲...

快取淘汰演算法 LRU演算法

乙個用hash表作為底層結構的資料庫,當然少不了快取淘汰演算法。lru least recently used,最近最少使用 演算法根據資料的歷史訪問記錄來進行淘汰資料,其核心思想是 如果資料最近被訪問過,那麼將來被訪問的機率也更高 新資料插入到鍊錶頭部 每當快取命中 即快取資料被訪問 則將資料移到...

快取淘汰演算法 LRU

1.lru 1.1.原理 lru least recently used,最近最少使用 演算法根據資料的歷史訪問記錄來進行淘汰資料,其核心思想是 如果資料最近被訪問過,那麼將來被訪問的機率也更高 1.2.實現 最常見的實現是使用乙個鍊錶儲存快取資料,詳細演算法實現如下 1.新資料插入到鍊錶頭部 2....