ประโยชน์ของการ cache ข้อมูล ทำให้เว็บไซต์แสดงผลได้เร็วขึ้น ลดการประมวลผลข้อมูล โดยดึงข้อมูลจากการ cache มาแสดง
ทำให้ไม่ต้องประมวลผลทุกๆ ครั้ง ที่มีการเรียกหน้าเว็บเพจนั้นๆ มาแสดง คุณสมบัติเด่นของ php class ตัวนี้คือ
สามารถกำหนดเวลาในการดึงข้อมูลใหม่ หรือ การเรียกดูข้อมูลปัจจุบันทุกๆ เวลาที่กำหนด โดยสามารถกำหนดได้ในหน่วย วินาที
ตัวอย่างหลักการคร่าวๆ
1. ผู้ใช้คนที่ 1 เปิดเว็บไซต์หน้าแสดงสินค้า ซึ่งดึงข้อมูลจากฐานข้อมูล และการประมวลผล
2. ระบบ cache จะทำการบันทึก หน้าแสดงสินค้า ไว้ในโฟลเดอร์ cache ที่กำหนดไว้ที่ server
3. เมื่อผู้ใช้ึคนที่ 2 เปิดหน้าแสดงสินค้า ระบบ cache จะตรวจสอบว่าหน้าแสดงสินค้า มี การ cache หรือไม่
4. ถ้าข้อมูลมีการ cache ระบบจะดึงไฟล์ที่ทำการ cache มาแสดง โดยไม่ต้องดึงข้อมูลจากฐานข้อมูล หรือประมวลผลใหม่อีก
5. ดึงนั้นการแสดงข้อมูลจะเร็วขึ้น และลดการประมวลผลที่ฝั่ง sever
6. หากยังไม่มีการ cache หรือ ครบเวลาที่กำหนดให้เรียกข้อมูลใหม่ ระบบก็จะทำการ cache ข้อมูลใหม่ ทำให้ได้ข้อมูลที่อัพเดท ข้อมูลที่ได้
ก็จะถูกเรียกใช้งานจาก ผู้ใฃ้ที่ 3 , 4 , 5...... ต่อไปเรื่อยๆ
ดาวน์โหลดไฟล์ที่จำเป็น และตัวอย่าง https://www.ninenik.com/download/cache-page.zip
PHP code ตัวอย่าง
<?php @include("cache-kit.php"); // เรียกใช้ไฟล์ php class $cache_active = true; // กำหนดให้ทำการ cache $cache_folder = 'cache/'; // กำหนดไฟลเดอร์ที่ไว้เก็บไฟล์ cache ?> <?php function callback($buffer) { // ฟังก์ชันสำหรับเก็บค่า html ไว้ในตัวแปร return $buffer; } ?> <?php $page_cache = acmeCache::fetch('page_cache', 10); // ทำการ cache หน้าเว็บไซต์ใหม่ ไว้ในตัวแปร $page_cache ทุกๆ 10 วินาที สามารถกำหนดเป็นค่าอื่นได้ if(!$page_cache){ // ตรวจสอบว่าถ้าไม่มีข้อมูลที่ cache ไว้ ให้ทำการเก็บค่า html ไว้สำหรับบันทึก cache ob_start("callback"); // เริ่มต้นการบันทึก html ?> <html> <head> <title>Cache Page</title> <style type="text/css"> .mysty1{ width:150px; height:200px; background-color:#FFCC66; } </style> </head> <body> <div class="mysty1"> </div> </body> </html> <?php $page_cache=ob_get_contents(); // เก็บข้อมูล html ไว้ในตัวแปร $page_cache ob_end_flush(); // ตำแหน่งสิ้นสุด acmeCache::save('page_cache',$page_cache); // ทำการบันทึก html จากตัวแปร $page_cache ไว้ใน cache ชื่อ page_cache }else{ echo $page_cache; // แสดงข้อมูลที่ทำการ cache echo "Cache Data"; // สำหรับทดสอบว่า เป็นข้อมูลที่ได้จากการ cache หรือไม่ } ?>
ดาวน์โหลดไฟล์ที่จำเป็น และตัวอย่าง https://www.ninenik.com/download/cache-page.zip