การเติมข้อมูลการแทนที่แคชของ LRU ช่วยเพิ่มการใช้งานหน่วยความจําให้เหมาะสมที่สุด โดยการลบรายการที่เพิ่งเข้าใช้เมื่อแคชบรรลุความสามารถ มัคคุเทศก์นี้จะให้ขั้นตอนการพัฒนาแคช LRU ในสภาพแวดล้อมโปรแกรมต่าง ๆ

การเข้าใจแคชของ LRU

LRU (ใช้ล่าสุด) แคชเก็บบันทึกการเรียกใช้รายการเพื่อตรวจสอบว่าจะใช้ข้อมูลใดในการไล่ข้อมูลออกเมื่อต้องการพื้นที่ ซึ่งจะมีความสําคัญมากในการเข้าใช้เมื่อเร็ว ๆ นี้ จึงทําให้มั่นใจว่ามีข้อมูลที่ใช้บ่อย ๆ ที่ยังเหลืออยู่

ส่วนประกอบหลักของแคช LRU

แคช LRU ที่มีประสิทธิภาพ โดยปกติแล้ว จะรวมโครงสร้างข้อมูลสองแบบเข้าด้วยกัน:

  • [FLT: 0] แผนที่: จัดทําการเข้าถึงรายการแคชข้อมูลอย่างรวดเร็ว
  • [FLT: 0] รายชื่อที่อยู่เชื่อมโยง: รักษาลําดับการใช้งานของรายการ โดยมีรายการล่าสุดที่ด้านหน้า

ขั้น ตอน การ หมด กําลัง

ปฏิบัติตามขั้นตอนเหล่านี้เพื่อใช้แคช LRU:

  • เริ่มแผนที่แฮช และรายการเชื่อมโยงคู่
  • ในการเข้าถึงข้อมูล ให้ย้ายรายการไปด้านหน้าในรายการ
  • หากแคชเกินความจุ ให้ลบรายการที่ท้ายรายการ
  • ปรับปรุงแผนที่แฮชตามระหว่างการแทรกและการลบ

การ เพิ่ม ความ รู้ แบบ ตัว อย่าง ใน ภาษา ไพ โอ เนียร์

นี่เป็นตัวอย่างของแคช LRU ใน Python:

[FLT: 0] Note: รหัสนี้ใช้โมดูลสะสมสําหรับลําดับ digit ซึ่งทําให้ระเบียบง่ายขึ้น

''Python

จากลําดับการนําเข้าของคลัง

การ ปวด หลัง ใน ชั้น:

ถอน หมายเลข [( ตัวเอง, ความสามารถ):

ด้วยตนเอง. kche = assideddict ()

ตัวเอง. ความจุ = ความจุ

การเพิกถอน(ตัวเอง, กุญแจ):

ถ้ากุญแจไม่อยู่ในตัวเอง

กลับค่า - 1

ด้วยตนเอง.cache. ย้าย สิ้นสุด (คีย์)

กลับไปหาตัวเองเถอะ

ลบใส่ค่า

ตัวเอง. kche [คีย์] =ค่า

ด้วยตนเอง.cache. ย้าย สิ้นสุด (คีย์)

หาก len(ตัวเอง). cachche) & gt; ด้วยตนเอง.capaccess:

ตัวเอง.cache. pop item (ast=false)

''