Génie civil & structural
Guide pratique pour la mise en oeuvre des politiques de remplacement des caches les moins utilisées (lru)
Table of Contents
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)
«»