1

กระทู้: ขอวิธีลบ cache memories ตอนใช้เขียน website

คือผมมีปัญหาเวลาเขียนเว็บไซต์ครับ โดยเฉพาะ php มีความรู้สึกว่า browser มันจำข้อมูลเดิมอยู่ทั้งๆ ที่เราแก้ข้อมูลใหม่แล้วลอง refresh อีกทีมันก็เหมือนเดิม แต่พอเราลองใช้ browser อื่นเปิดดูมันก็เปลี่ยนเรียบร้อยแล้ว

แบบนี้เลยคิดว่าเกิดจาก cache ที่ browser มันจำอันเก่าครับ แล้วมีวิธีให้มันไม่จำเลยได้ไหมครับ เพราะขี้เกียจไปลบ history ทุกครั้งที่ลองใหม่นะครับ

2

ตอบ: ขอวิธีลบ cache memories ตอนใช้เขียน website

cache เก็บได้หลายที่ครับ
เรียงได้ตั้งแต่
browser > network > isp > server

ถ้าเป็นที่ browser กด ctrl + F5 คือคำสั่งเคลียร์ cache ของเว็บหน้านั้น และโหลดมาใหม่หมด
ถ้าเป็นที่ network ต้องดูว่ามีการใช้ proxy หรือเปล่า เพราะว่า network หลายที่มี proxy ซึ่ง ctrl + F5 จะช่วยได้บ้างไม่ได้บ้าง
ถ้าเป็นที่ ISP อันนี้เราแก้เองไม่ได้ครับ
ถ้าเป็นที่ server เราก็แค่เอาคำสั่ง cache ออก

หากเป็นหน้าเว็บบางหน้า เราจะนิยมใช้คำสั่ง กลุ่ม header สั่งให้หน้าเว็บนั้นหมดอายุครับ

header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');

กลุ่มคำสั่ง header ต้องใส่ก่อนการแสดงผลใดออกมาทางหน้าเว็บนะครับ

หรืออีกแบบที่เป็น html meta

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="Expires" content="-1">

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