ทำการ cache หน้าเว็บไซต์ด้วย php class อย่างง่าย

ประโยชน์ของการ 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...... ต่อไปเรื่อยๆ

ดาวน์โหลดไฟล์ที่จำเป็น และตัวอย่าง http://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 หรือไม่
} 
?>

ดาวน์โหลดไฟล์ที่จำเป็น และตัวอย่าง http://www.ninenik.com/download/cache-page.zip




บทความในหมวดที่่น่าสนใจ อื่นๆ PHP Learning

05 Nov 09 เช็ค บราวเซอร์ Browser ด้วย php อย่างง่าย อ่าน 549 03 Nov 09 php ฟังก์ชันหา IP Address เช็คเพิ่มเติม และประยุกต์ บล็อก IP อย่างง่าย อ่าน 541 18 Dec 09 สร้างไฟล์ word จาก html ด้วย php class ได้อย่างง่าย อ่าน 519 04 Dec 09 จัดการ Directory สร้าง ลบ เปลี่ยนชื่อ กำหนด permission ผ่าน FTP function ด้วย PHP อ่าน 409 30 Oct 09 ฟังก์ชัน PHP แปลงตัวเลขอาราบิก เป็น ตัวเลขไทย อย่างง่าย อ่าน 376 10 Feb 10 ประยุกต์ สร้าง FTP Function สำหรับการจัดการไฟล์ผ่าน FTP Protocal อ่าน 249 02 Mar 10 ประยุกต์ แปลเนื้อหา ในเว็บไซต์ด้วย google translater api สำหรับ php อ่าน 215
จำนวนผู้เยี่ยมชม 88073 คน 2010 © Copyright ninenik.com. All rights reserved.