Cache

快取演算法 - LRU 和 LFU 快取替換策略,用於提高系統效能與記憶體管理效率。

LRU vs LFU 選擇指南

比較項目LRU (Least Recently Used)LFU (Least Frequently Used)
原理移除最近最少使用的項目移除使用頻率最低的項目
適用場景近期存取的資料可能會被再次存取熱門資料長期存取,冷門資料應盡快移除
實作難度簡單(雙向鏈結串列 + HashMap)複雜(需要計算頻率,可能用 min-heap 或計數器)
優點低開銷,適用於短期存取模式可保留長期熱門的資料,不會因短期未存取就被移除
缺點Cache Pollution (快取汙染):短期熱門但後續不再存取的資料仍可能佔據快取空間LFU Aging Issue (老化問題):舊的熱門資料可能長期佔據快取,導致新資料無法進入

LRU 適用場景

  • 作業系統 (OS Page Replacement, CPU Cache)
  • 瀏覽器快取、資料庫快取、CDN
  • 最近存取過的資料,未來仍可能存取

LFU 適用場景

  • 搜尋引擎、廣告投放、推薦系統
  • 長期熱門內容(熱門電影、音樂、新聞)
  • 避免短期熱門但迅速冷卻的資料佔據快取