LRU (Least Recently Used) ქეშ აშორებს ელემენტს, რომელიც ყველაზე დიდი ხნის განმავლობაში არ იყო მოწვდომილი, როდესაც მის ტევადობას აღწევს. კლასიკური დიზაინი აერთიანებს hash map-ს (O(1) ძებნა) და doubly linked list-ს (O(1) გადაწყობა), რაც იძლევა O(1) get და put.
ორი სტრუქტურის დიზაინი
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)
