La implementación de una política de sustitución de caché LRU ayuda a optimizar el uso de la memoria eliminando los elementos menos accedidos recientemente cuando el caché alcanza su capacidad. Esta guía proporciona pasos prácticos para desarrollar un caché LRU en varios entornos de programación.

Entender la caché de LRU

Un caché LRU (Least Recientemente usado) mantiene un seguimiento del uso de elementos para determinar qué datos se deben desalojar cuando se necesita espacio. Prioriza los artículos recientemente accedidos, asegurando que los datos usados frecuentemente permanezcan disponibles.

Componentes básicos de un caché de la URE

Un caché LRU eficaz combina normalmente dos estructuras de datos:

  • Hash Map: Proporciona un acceso rápido a los artículos de caché.
  • Lista doblemente vinculada: Mantiene el orden de uso de los artículos, con el más reciente en la parte frontal.

Medidas de aplicación

Siga estos pasos para implementar un caché LRU:

  • Inicia el mapa de hash y doblemente la lista de enlaces.
  • En el acceso a los datos, mueva el artículo al frente de la lista.
  • Si el caché excede la capacidad, retire el artículo al final de la lista.
  • Actualice el mapa de hash en consecuencia durante las inserciones y eliminaciones.

Aplicación de muestras en Python

Aquí hay un ejemplo simple de un caché LRU en Python:

Nota: Este código utiliza el módulo de colecciones para OrderedDict, que simplifica la implementación.

``python

de las colecciones importadas OrdenedDict

clase LRUCache:

def init (self, capacity):

auto.cache = OrdenadoDict()

capacidad de autosuficiencia = capacidad

def get(self, key):

si la llave no es en auto.

retorno -1

auto.cache.move to end(key)

volver auto.cache[key]

def put(self, key, value):

auto.cache[key] = valor

auto.cache.move to end(key)

si len(self.cache) > auto.capacidad:

auto.cache.popitem(last=False)

``