A-AA+then

ตัวอย่างการทำ Cache

1,864
ตัวอย่างการทำ Cache อยากทราบวิธีการทำครับ ไม่่ทราบว่าวิธีไหน สะดวกแล้วก็มีข้อเสียในการทำงานน้อยครับ

ขอบคุณครับ

1 ความคิดเห็น

จริงๆแล้วมันก็มีหลายวิธีนะครับ เช่นการใช้ ฟังก์ชั่นของ PHP หรือการใช้ libraly เสริม หรือการ cache ด้วยตัวเอง

วิธีที่ผมนิยม (ส่วนตัว) คือการจัดการ cache ด้วยตัวเองครับ ข้อดีที่สำคัญคือ ง่าย และ ควบคุมได้

สิ่งที่ต้องคำนึงถึง เมื่อต้องการ cache คือ

1.ข้อมูลมีการเปลี่ยนแปลงบ่อยหรือเปล่า หรือ เราควบคุมการเปลี่ยนแปลงนั้นได้หรือเปล่า ข้อมูลที่ต้องทันสมัยเสมอ เช่นการดูข้อมูลแบบ real time คงไม่เหมาะที่จะ cache ข้อมูลแคช ที่ไม่แน่นอน หรืไม่สามารถคาดเาล่วงหน้าได้ ก็คงไม่สามารถจัดการ cache ให้ทันสมัยได้
2.เรามักใช้ cache เพื่อเลี่ยงการ query ข้อมูลจากฐานข้อมูล ซึ่งช้ากว่า และ เปลืองทรัพยากร มากกว่า ถ้าไม่ใช่ เราก็คงไม่มีความจำเป็นต้องแคชครับ

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

จุดที่ยาก ก็คือการตรวจสอบความทันสมัยละครับ ซึ่งเราจะต้องพิจารณาเอาเองว่า เมื่อไร ที่ควรมีการอัปเดท เนื้อหา ซึ่งทำได้ง่ายๆ คือ เมื่อไรที่ต้องการอัปเดท ก็ให้ลบไฟล์ที่ยันทึกออกเท่านั้น

ยกตัวอย่าง GCMS มีการ cache ไฟล์ สำหรับส่วนแสดงผลบทความใหม่ และ กระทู้ใหม่ ในหน้าแรก ซึ่ง การสร้างแคช จะทำเมื่อมีการ เขียนบทความ หรือ ตั้งคำถามใหม่เท่านั้น
1
^