LRU önbellek değiştirme politikası, önbellek kapasiteye ulaştığında en az son erişim öğelerini ortadan kaldırmak için hafıza kullanımını optimize etmenize yardımcı olur. Bu kılavuz çeşitli programlama ortamlarında LRU önbellek geliştirmek için pratik adımlar sunar.

LRU Cache

LRU (Least lately) önbellek, uzayın ihtiyaç duyduğu durumlarda hangi verileri ev sahibi olmak için ürün kullanımını takip eder. Son zamanlarda erişilen öğeleri önceliklendirir, bu sıklıkla kullanılan verileri sağlamak.

Bir LRU Cache'nin temel bileşenleri

Etkili bir LRU önbellek genellikle iki veri yapısını birleştirir:

  • [FONT=0)Hash Map:[Dönetici:[Döncüklere hızlı erişim sağlar.
  • [FONT:0) Doubly Linked Listesi:), en son en son cephede öğe kullanımını korur.

Uygulama Adımları

LRU önbelleği uygulamak için bu adımları izleyin:

  • En başta hash haritasını ve doubly bağlantılı listeyi.
  • Veriler erişimde, öğeyi listenin önünde hareket ettirin.
  • Önbellek kapasiteyi aşıyorsa, listeyin sonunda öğeyi kaldır.
  • Ek olarak eksiyonlar ve deletions sırasında hash haritasını güncelleyin.

Python'da Örnek Uygulama

İşte Python'da LRU önbellekinin basit bir örneği:

[FONT:0)Not:[Dönetici:[Dön: 0 3) Bu kod, uygulamayı basitleştiren koleksiyon için koleksiyon modülü kullanır.

"'python

Koleksiyonlardan ithalat siparişi alındı

LRUCache:

init (kendi, kapasite):

Kendi.cache = OrderedDict()

öz. kapasite = kapasite

(Kendi, anahtar):

Eğer anahtar kendi başına değilse:

Geri dönüş -1

Kendi.cache.move to end(key)

Kendini geri döndürün.cache[key]

def(kendi, anahtar, değer):

Kendi.cache[key] = değer

Kendi.cache.move to end(key)

Eğer len(kendi.cache) > kendini. kapasitey:

Kendi.cache.popitem (last=False)

"