En LRU (Least Recently Used) cache fjerner den vare, der ikke er blevet tilgået i længst tid, når den når kapacitet. Det klassiske design kombinerer et hash map (O(1) opslag) med en doubly linked list (O(1) omordning), hvilket giver O(1) get og put.
Det to-struktur design
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)
