Ingegneria civile e strutturale
Guida pratica per l'attuazione della leva di recente utilizzata (lru) Cache Politiche di sostituzione
Table of Contents
L'implementazione di una politica di sostituzione della cache LRU consente di ottimizzare l'utilizzo della memoria rimuovendo gli elementi meno recenti quando la cache raggiunge la sua capacità.
Comprensione di LRU Cache
Una cache LRU (meno recentemente utilizzata) tiene traccia dell'utilizzo dell'elemento per determinare quali dati evitiamo quando è necessario lo spazio.
Componenti principali di una Cache LRU
Una cache LRU efficace combina in genere due strutture di dati:
- Hash Map:[] Fornisce un accesso rapido agli elementi della cache.
- Elenco doppiamente collegato:[] Mantiene l'ordine di utilizzo dell'elemento, con il più recente sul fronte.
Fase di attuazione
Seguire questi passaggi per implementare una cache LRU:
- Inizializzare la mappa hash e l'elenco doppiamente collegato.
- Sull'accesso ai dati, spostare l'elemento nella parte anteriore della lista.
- Se la cache supera la capacità, rimuovere l'elemento alla fine dell'elenco.
- Aggiornare la mappa dell'hash di conseguenza durante le inserzioni e le cancellazioni.
Attuazione del campione in Python
Ecco un semplice esempio di una cache LRU in Python:
Nota:[] Questo codice utilizza il modulo di collezioni per OrderedDict, che semplifica l'implementazione.
# "Piathon" #
da collezioni importate
classe LRUCache:
def init (auto, capacità):
auto.cache = OrdinatoDict()
auto.capacità = capacità
sff get(self, key):
se la chiave non in self.cache:
ritorno -1
auto.cache.move to end (chiave)
ritorna auto.cache[chiave]
def put(self, key, value):
auto.cache[chiave] = valore
auto.cache.move to end (chiave)
se len(self.cache) > auto.capacità:
auto.cache.popitem (last=False)
- Sì.