คำถามติดแท็ก generalization

9
Cache Invalidation - มีวิธีแก้ปัญหาทั่วไปหรือไม่?
"มีปัญหาหนักเพียงสองประการในวิทยาการคอมพิวเตอร์: การทำให้แคชไม่ถูกต้องและการตั้งชื่อสิ่งต่างๆ" ฟิลคาร์ลตัน มีวิธีแก้ปัญหาหรือวิธีการทั่วไปในการทำให้แคชเป็นโมฆะหรือไม่ หากต้องการทราบว่ารายการค้างดังนั้นคุณจึงรับประกันได้ว่าจะได้รับข้อมูลใหม่เสมอ? ตัวอย่างเช่นพิจารณาฟังก์ชันgetData()ที่รับข้อมูลจากไฟล์ มันจะแคชตามเวลาที่แก้ไขล่าสุดของไฟล์ซึ่งจะตรวจสอบทุกครั้งที่เรียก จากนั้นคุณเพิ่มฟังก์ชันที่สองtransformData()ซึ่งจะแปลงข้อมูลและเก็บผลลัพธ์ไว้สำหรับครั้งต่อไปที่เรียกใช้ฟังก์ชัน ไม่มีความรู้เกี่ยวกับไฟล์ - คุณจะเพิ่มการอ้างอิงได้อย่างไรว่าหากไฟล์ถูกเปลี่ยนแคชนี้จะไม่ถูกต้อง? คุณสามารถโทรgetData()ทุกครั้งที่transformData()มีการเรียกและเปรียบเทียบกับค่าที่ใช้ในการสร้างแคช แต่อาจมีค่าใช้จ่ายสูงมาก
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.