La mise en œuvre d'une politique de remplacement du cache LRU permet d'optimiser l'utilisation de la mémoire en supprimant les éléments les moins récemment consultés lorsque le cache atteint sa capacité.

Comprendre le Cache LRU

Un cache LRU (Least Recently Used) permet de suivre l'utilisation des éléments pour déterminer les données à expulser lorsque l'espace est nécessaire. Il priorise les éléments récemment consultés, en veillant à ce que les données fréquemment utilisées restent disponibles.

Composantes essentielles d'un Cache LRU

Un cache efficace de l'RU combine généralement deux structures de données:

  • Hash Map: Fournit un accès rapide aux éléments de cache.
  • Liste doublement liée:[ Maintient l'ordre d'utilisation des articles, avec le plus récent à l'avant.

Étapes de mise en œuvre

Suivez ces étapes pour mettre en place un cache LRU :

  • Initialiser la carte du hachage et la liste doublement liée.
  • Lors de l'accès aux données, déplacer l'élément vers la partie avant de la liste.
  • Si le cache dépasse la capacité, supprimer l'élément à la fin de la liste.
  • Mettre à jour la carte de hachage en conséquence lors des insertions et des suppressions.

Exemple de mise en œuvre en Python

Voici un exemple simple d'un cache LRU en Python:

Note: Ce code utilise le module de collections pour OrderedDict, qui simplifie l'implémentation.

'`'python

à partir de collections importation commandéDict

Classe LRUCache:

def init (auto-capacité):

auto.cache = CommandedDict()

autocapacité = capacité

def get(self, clé):

si la clé n'est pas dans Self.cache:

retour -1

Self.cache.move to end(key)

retour self.cache[clé]

def put(self, clé, valeur):

auto.cache[clé] = valeur

Self.cache.move to end(key)

si len(self.cache) > autocapacité:

Self.cache.popitem(dernière=Faux)

«»