Design de cache LRU

O cache menos usado recentemente (LRU) é descartar os itens menos usados recentemente primeiro Como você projeta e implementa essa classe de cache? Os requisitos de design são os seguintes:

1) encontre o item o mais rápido possível

2) Quando um cache falha e o cache está cheio, precisamos substituir o item menos usado recentemente o mais rápido possível.

Como analisar e implementar esta questão em termos de padrão de design e design de algoritmo?

questionAnswers(8)

yourAnswerToTheQuestion