LRU-välimuistin vaihtokäytännön toteuttaminen auttaa optimoimaan muistin käyttöä poistamalla viimeksi käytetyt kohteet, kun välimuisti saavuttaa kapasiteettinsa. Tämä opas tarjoaa käytännön toimia LRU-välimuistin kehittämiseksi eri ohjelmointiympäristöissä.

LRU- välimuistin ymmärtäminen

Viimeksi käytetty LRU-välimuisti pitää kirjaa kohteen käytöstä määrittääkseen, mitä tietoja häädetään tilan tarpeen mukaan. Se priorisoi äskettäin käytetyt kohteet varmistaen, että usein käytetyt tiedot ovat edelleen saatavilla.

LRU-välimuistin ydinkomponentit

Tehokas LRU-välimuisti yhdistää tyypillisesti kaksi datarakennetta:

  • Hash Map:[ tarjoaa nopean pääsyn välimuistin kohteisiin.
  • Kaksinkertainen linkkiluettelo:[ Säilyttää kohteen käyttöjärjestyksen, ja viimeisin etupuolella.

Täytäntöönpanovaiheet

Seuraa näitä ohjeita, jotta saat käyttöön LRU-välimuistin:

  • Alusta hash-kartta ja tuplalinkitty lista.
  • Siirrä tietoyhteyden kautta kohde listan etupuolelle.
  • Jos välimuisti ylittää kapasiteetin, poista kohde luettelon lopussa.
  • Päivitä hash-kartta vastaavasti lisäysten ja poistojen aikana.

Näytteen käyttöönotto Pythonissa

Tässä on yksinkertainen esimerkki Pythonin LRU-välimuistista:

Huomautus:[ Tämä koodi käyttää tilatundiktin kokoelmia koskevaa moduulia, joka yksinkertaistaa toteutusta.

...

kokoelmista tuonti TilattuDict

luokka LRUCache:

def init (minä, kapasiteetti):

self.cache = TilattuDict()

omakapasiteetti = kapasiteetti

- Ei.

jos avain ei itse. välimuisti:

palautus -1

self.cache.move to end(key)

palauttaa self.cache[avain]

def put(itse, avain, arvo):

self.cache[avain] = arvo

self.cache.move to end(key)

jos len(self.cache) > itse. kapasiteetti:

self.cache.popitem(last=False)

...