ทำความเข้าใจการเก็บ cache แบบ LRU กับ LFU ใน 1 นาที - LearnAlgorithm
Simply Explained!
January 14, 2025
|
3 mins read

ทำความเข้าใจการเก็บ cache แบบ LRU กับ LFU ใน 1 นาที

LRU กับ LFU คืออะไร? ทำความเข้าใจ cache eviction policies ผ่านการยืมหนังสือในห้องสมุด

ทำความเข้าใจการเก็บ cache แบบ LRU กับ LFU ใน 1 นาที

“ณ ห้องสมุดแห่งหนึ่งมีคนมายืมหนังสือจำนวนมาก คุณจะออกแบบห้องสมุดอย่างไรเพื่อช่วยให้คนที่มายืมหนังสือสะดวกที่สุด?”

หนึ่งในวิธีการปัญหาทางก็คือการตั้งโต็ะวางหนังสือไว้ตรงทางเข้าร้านครับ

ยกตัวอย่างเช่นหนังสือที่คนยืมบ่อยที่สุด เพื่อที่ว่าเวลาคนมายืมหนังสือยอดฮิตก็จะสามารถหยิบหนังสือจากโต็ะไปยืมได้เลย โดยไม่ต้องไปเดินหาหนังสือในห้องสมุดให้เสียเวลา

สิ่งนี้เราเรียกว่าการทำ cache ครับ มันคือการเก็บข้อมูลหรืออะไรบางอย่างไว้ เพื่อที่ว่าเวลาเราเรียกหาสิ่ง ๆ นั้นเราจะได้เข้าถึงสิ่งนั้นได้ทันทีโดยไม่ต้องไปหาหรือคำนวนสิ่งนั้นใหม่แต่ต้น

แต่ทั้งนี้โต็ะของเราก็ไม่สามารถที่จะวางหนังสือจากทั้งร้านได้ (เรียกได้ว่าพื้นที่มีจำกัดนั้นหละ) ดังนั้นเลยมีเรื่องที่ต้องคิดเพิ่มก็คือว่า “แล้วหนังสือเล่มไหนควรจะอยู่บนโต็ะนี้บ้าง?”

…โดยมีเป้าหมายสูงสุดคือการ maximize hit rate หรือเมื่อมีคนเข้ามาหาหนังสือในร้าน เราจะทำยังไงให้มีโอกาสที่คนส่วนใหญ่สามารถเลือกยืมจากโต็ะได้ทันที แทนที่จะไปเสียเวลาหาหนังสือนั่นเอง

ดังนั้นเราจึงต้องมีกฏหรือนโยบายครับว่า “เราจะเก็บหนังสือเล่มไหนไว้บนโต็ะและเล่มไหนควรจะเอาออก” เมื่อมีหนังสือเล่มใหม่เพิ่มเข้ามาในร้าน และเราเรียกสิ่งนี้ว่า “cache eviction policy” นั่นเอง

ในโพสนี้เราขอมายกตัวอย่าง 2 polices ง่าย ๆ ครับคือ LFU กับ LRU

LFU ย่อมาจาก least frequently used หรือคือเมื่อมีหนังสือเล่มใหม่เข้ามา เราจะเลือกเล่มที่ “มีจำนวนคนยืมน้อยที่สุด” ออกจากโต็ะ …ส่วนหนังสือเล่มอื่น ๆ ที่มีคนมายืมมาก ๆ (หรือหนังสือยอดฮิต) ก็จะยังวางอยู่บนโต็ะต่อไปนั่นเอง

LRU ย่อมาจาก least recently used หรือคือเมื่อมีหนังสือใหม่เข้ามา เราจะเลือกหนังสือที่ “คนไม่ยืมนานสุด” ออก ส่วนหนังสือเล่มอื่นที่เหลือก็จะเป็นหนังสือที่คนมายืมล่าสุดกันนั่นเอง

และสุดท้ายนี้การจะเลือกใช้ policy ไหนนั้นขึ้นอยู่กับบริบทเลย

ยกตัวอย่างเช่นถ้าร้านหนังสือเราให้ยืมหนังสือเรียน เราก็อาจจะเลือกใช้ LFU เพราะคนที่มายืมหนังสือส่วนใหญ่ก็คงจะมายืมหนังสือยอดฮิตที่ต้องเอาไปอ่านช่วงสอบกัน

ในขณะที่ถ้าหากว่าร้านเราให้ยืมหนังสือเกี่ยวกับข่าวหรือ trend ที่เมื่อเวลาผ่านไปเนื้อหาก็คงจะ outdate เราก็อาจจะเลือกใช้ LRU นั่นเอง

Chun Rapeepat

Rapeepat Kaewprasit (Chun)

คน ๆ หนึ่งที่ชื่นชอบในการสร้าง การทำธุรกิจ และการได้ลองทำอะไรใหม่ ๆ ไปเรื่อย ๆ