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

23 November 2009

ประโยชน์ของการ 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

17 Dec 10 สร้าง php ฟังก์ชัน ตราจสอบ ก่อนถึงวันหมดอายุ อย่างง่าย อ่าน 2486 16 Oct 09 สร้างฟังก์ชัน php แปลงตัวเลข เป็นข้อความตัวอักษร ภาษาไทย อ่าน 2470 03 Nov 09 php ฟังก์ชันหา IP Address เช็คเพิ่มเติม และประยุกต์ บล็อก IP อย่างง่าย อ่าน 2404 25 Dec 10 แนวทาง การใช้งาน php กับ css กำหนด รูปแบบ style อย่างง่าย อ่าน 2392 25 Sep 08 สร้างฟังก์ชันในการหาจำนวนวัน ชั่วโมง นาที และวินาทีที่ผ่านมาแล้ว อ่าน 2344 18 Dec 09 สร้างไฟล์ word จาก html ด้วย php class ได้อย่างง่าย อ่าน 2335 14 Oct 11 การเชื่อมต่อ facebook และ ล็อกอิน แบบ popup ด้วย php sdk v.3.1.1 อ่าน 2315 25 Sep 08 วิธีแก้ปัญหาตัวแปร global เป็น off อ่าน 2298 14 Dec 10 แนะนำ php ip 2 country สำหรับเช็ค ip ว่ามาจากประเทศอะไร อ่าน 2291 13 Oct 11 แนะนำการใช้งาน การเชื่อมต่อ facebook ด้วย php sdk v.3.1.1 อ่าน 2271 15 Nov 09 สร้างลิ้งค์เมนู 2 ภาษา กรณี ไทย อังกฤษ ด้วย php อย่างง่าย อ่าน 2216 29 Mar 09 ประยุกต์ฟังก์ชัน substr_replace ใน PHP ตัดข้อความยาวแล้วตามด้วยเครื่องหมาย ...... อ่าน 2149 25 Sep 08 Code เกี่ยวกับ การหาวันข้างหน้า อ่าน 2144 12 Nov 08 กำหนด permission ไฟล์หรือโฟลเดอร์ด้วยฟังก์ชัน FTP ใน PHP อ่าน 2137 09 Dec 09 การรวมไฟล์ javascript หรือไฟล์ css เป็นไฟล์เดียว ด้วย php อย่างง่าย อ่าน 2134

บทความคนเข้าอ่านวันนี้

25 Sep 08 การกำหนด Selectors ด้วย jquery แบบ Basic อ่าน 4591 19 Jun 10 สร้าง comment ด้วย social plugins ใน facebook api อย่างง่ายดาย อ่าน 20166 08 Oct 08 การจัดตำแหน่ง div ให้อยู่กี่งกลาง อ่าน 6296 20 Aug 09 jQuery ป้องกัน การคลิกขวา ในหน้าเว็บไซต์ อ่าน 3045 25 Mar 09 ใช้งาน cookie ในการจำค่าชื่อผู้ใฃ้และรหัสผ่าน ด้วย javascript และ php อ่าน 3104 13 Oct 11 แนะนำการใช้งาน การเชื่อมต่อ facebook ด้วย php sdk v.3.1.1 อ่าน 2271 18 Mar 10 การเก็บข้อมูลวันที่ ในฐานข้อมูล กับคำสั่ง sql ในการค้นหา อ่าน 5880 29 Sep 10 แนวทาง การสร้าง ระบบตรวจสอบ การล็อกอิน อย่างง่าย ด้วย ajax ใน jQuery และ php อ่าน 5046 04 Nov 10 การสร้าง json ไฟล์ จากฐานข้อมูล ด้วย php และการใช้งานด้วย jQuery getJSON() อ่าน 4532 12 Nov 08 กำหนด permission ไฟล์หรือโฟลเดอร์ด้วยฟังก์ชัน FTP ใน PHP อ่าน 2137 16 Oct 08 การแสดงเฉพาะปุ่มสำหรับ upload อ่าน 3576 21 Dec 10 กำหนด ปุ่ม ให้ทำงาน เมื่อคลิกที่ checkbox ยอมรับเงื่อนไข ด้วย jQuery อ่าน 2671 24 Feb 10 เทคนิค สร้าง effect add to cart ด้วย jQuery อย่างง่าย อ่าน 5312 25 Sep 08 ตกแต่งภาพในเว็บให้น่าสนใจคล้ายภาพสะท้อนจากน้ำ อ่าน 2692 27 Jan 10 การใช้งาน jQuery.contains() ใน jQuery 1.4 อ่าน 2462 04 May 10 ประยุกต์ ใช้งาน php และ ajax ใน jQuery แสดงผลลัพธ์ คล้าย twitter อ่าน 3819 26 Oct 08 แสดง popup window ตรงกลาง อ่าน 12387 26 Oct 10 แนะนำ autocomplete ใน jQuery ui กับการประยุกต์ใช้งาน อ่าน 2502 17 Feb 12 ประยุกต์ ใช้งาน jquery ui autocomplete ร่วมกับฐานข้อมูล อย่างง่าย อ่าน 3274 25 Sep 08 มารู้จัก effect ของ jquery อย่างง่าย ตอนที่ 1 อ่าน 6823
จำนวนผู้เยี่ยมชม 892673
คน 2012 © Copyright ninenik.com. All rights reserved.