LRU是什麼?LRU快取淘汰機制的原理和應用

2021-10-12 06:31:11 字數 676 閱讀 9280

rul是一種快取淘汰演算法,是一種快取淘汰機制

快取分為兩種硬體的快取軟體的快取

硬體的快取也是cpu快取,是位於cpu和記憶體之間的臨時的儲存器,包括一級快取,二級快取,**快取

軟體的快取包括記憶體快取資料庫快取和**網路快取(瀏覽器快取)**等等

大家都知道,快取不是無限的資源,甚至是稀缺的。那麼當快取被用滿的時候,就需要淘汰掉一些不要的資料,以什麼樣的方法判斷淘汰哪些資料就是快取淘汰機制

常見的快取淘汰機制有:

先進先出策略 fifo(first in,first out)

最少使用策略 lfu(least frequently used)

最近最少使用策略 lru(least recently used)

所以lru是最常用的快取淘汰演算法

其實非常簡單,拿鍊錶來實現的話就是:

當使用者在訪問乙個資料的時候,首先進行鍊錶的遍歷;遍歷到相應的資料的結點的時候,將其從原來的位置刪除,然後再插入到鍊錶的頭部。

如果沒有之前沒有快取的資料,則直接將結點插在資料頭部

如果快取滿了,插入多少資料就從尾部開始刪除

快取淘汰演算法 LRU

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

LRU 快取淘汰演算法

1.介紹 lru是leastrecentlyused近期最少使用演算法。記憶體管理的一種頁面置換演算法,對於在記憶體中但又不用的資料塊 記憶體塊 叫做lru,oracle會根據哪些資料屬於lru而將其移出記憶體而騰出空間來載入另外的資料。lru least recently used,最近最少使用 ...

LRU快取淘汰學習

lru least reacently used 最近最少使用,一種快取淘汰策略 linkedhashmap 資料庫連線池 redis cup快取記憶體 取長時間內沒有訪問的淘汰,佇列的形式,當重新訪問時則會挪到佇列頭部,當空間不足時從尾部開始刪除,如圖 想要實現這個效果,首先要有排序,用順序 時間...