ذاكرة التخزين المؤقت LRU (الأقل استخدامًا مؤخرًا) تزيل العنصر الذي لم يتم الوصول إليه لأطول وقت عند الوصول للسعة. يجمع التصميم الكلاسيكي بين خريطة hash (بحث O(1)) وقائمة مرتبطة بشكل مزدوج (إعادة ترتيب O(1))، مما يعطي O(1) للحصول والوضع.
تصميم البنية الثنائية
HashMap: key -> node DLL (recency order):
MRU <-> ... <-> LRU
get/put: map finds node move touched node to front (MRU)
in O(1); DLL splices it evict the tail (LRU) when full
to the front in O(1)
