快取特徵瞭解

lypbendlf發表於2024-05-03

轉自:https://tech.meituan.com/2017/03/17/cache-about.html

1.介紹

1.1命中率

命中率=返回正確結果數/請求快取次數,命中率問題是快取中的一個非常重要的問題,它是衡量快取有效性的重要指標。命中率越高,表明快取的使用率越高。

1.2 最大元素

快取中可以存放的最大元素的數量,一旦快取中元素數量超過這個值(或者快取資料所佔空間超過其最大支援空間),那麼將會觸發快取啟動清空策略。根據不同的場景合理的設定最大元素值往往可以一定程度上提高快取的命中率,從而更有效的時候快取。

1.3清空策略

FIFO:

先進先出策略,最先進入快取的資料在快取空間不夠的情況下(超出最大元素限制)會被優先被清除掉,以騰出新的空間接受新的資料。策略演算法主要比較快取元素的建立時間。在資料實效性要求場景下可選擇該類策略,優先保障最新資料可用。

LFU(less frequently used):

最少使用策略,無論是否過期,根據元素的被使用次數判斷,清除使用次數較少的元素釋放空間。策略演算法主要比較元素的hitCount(命中次數)。在保證高頻資料有效性場景下,可選擇這類策略。

LRU(Least Recently Used):

當快取清理時,優先清理長久未被訪問的資料,保留最近被訪問過的資料。最近最少使用策略,無論是否過期,根據元素最後一次被使用的時間戳,清除最遠使用時間戳的元素釋放空間。策略演算法主要比較元素最近一次被get使用時間。在熱點資料場景下較適用,優先保證熱點資料的有效性。

相關文章