Table of Contents
Implementasi sebuah kebijakan penggantian cache LRU membantu mengoptimalkan penggunaan memori dengan menghapus item yang paling tidak baru diakses saat cache mencapai kapasitasnya. Panduan ini menyediakan langkah praktis untuk mengembangkan cache LRU di berbagai lingkungan pemrograman.
Memahami Cache LRU
cache LUU (Larus Dipakai Baru-baru Ini) menyimpan jejak penggunaan item untuk menentukan data mana yang akan dikeluarkan ketika ruang diperlukan. Ini memprioritaskan item yang diakses baru-baru ini, memastikan bahwa data yang sering digunakan tetap tersedia.
Komponen Inti dari Cache LRU
Sebuah cache LRU efektif biasanya menggabungkan dua struktur data:
- [[NOLFLT:0]]Hash Map: Menyediakan akses cepat ke item cache.
- Daftar Berpaut Doubly:] Mempertahankan urutan penggunaan item, dengan yang paling baru di depan.
Langkah - Langkah yang Tidak Patut Dilaksanakan
Ikuti langkah-langkah ini untuk menerapkan cache LRU:
- Inisiasi peta hash dan daftar linked doubly.
- Pada akses data, pindahkan item ke depan daftar.
- Jika cache melebihi kapasitas, buang item di akhir daftar.
- Update peta hash sesuai selama penyisipan dan penghapusan.
Implementasi Sampel finex di Python
Ini contoh sederhana dari cache LRU dalam Python:
[5] HANFAILT:0]]Note: Kode ini menggunakan modul koleksi untuk OrderedDict, yang memudahkan implementasi.
``'python
Dari koleksi koleksi, dari OrderedDict
Kelas kelas LRUCache:
pra--anif init (diri sendiri, kapasitas):
ego.cache = OrderedDict()
self.kapacity = kapasitas
def get(diri sendiri, kunci):
Jika kunci tidak dalam diri sendiri.
URUTAN -1
ego.cache.move to end(key)
balien self.cache[key]
def put(diri, kunci, nilai):
self.cache[key] = nilai
ego.cache.move to end(key)
Jika len (diri sendiri) dangt; diri sendiri.capacity:
self.cache.popitem(terakhir=False)
```