เพิ่มความเร็ว ให้กับการ cache ด้วย jquery ajax และ php cache class
09 July 2010ดาวโหลดไฟล์ตัวอย่าง และไฟล์ที่จำเป็นได้ที่
http://www.ninenik.com/download/ajax-cache-page.rar
โค้ดตัวอย่างการใช้งาน
<?php
include("cache-kit.php"); // เรียกใช้ไฟล์ php class
$cache_active = true; // กำหนดให้ทำการ cache
$cache_folder = 'cache/'; // กำหนดไฟลเดอร์ที่ไว้เก็บไฟล์ cache
?>
<?php
$fullPathFile="http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
$page_cache = acmeCache::fetch($fullPathFile.$n_browser, 10);
// ทำการ cache หน้าเว็บไซต์ใหม่ ไว้ในตัวแปร $page_cache ทุกๆ 10 วินาที สามารถกำหนดเป็นค่าอื่นได้
if(!$page_cache){ // ตรวจสอบว่าถ้าไม่มีข้อมูลที่ cache ไว้ ให้ทำการเก็บค่า html ไว้สำหรับบันทึก cache
?>
<html>
<head>
<title>Cache Page</title>
<style type="text/css">
..mysty1{
width:550px;
height:200px;
background-color:#FFCC66;
}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div class="mysty1">
<p>ตัวอย่างต่อไปนี้เป็นการ cache ไฟล์ทุก 10 วินาที<br>
จะทำการ cache หลังจากโหลดหน้าเว็บแล้ว 2 วินาที ด้วย ajax</p>
<p>ทดสอบ โดย เมื่อเข้ามาหน้านี้ครั้งแรก จะไม่มีข้อความว่า Cache Data<br>
แสดงว่าเป็นการโหลดข้อมูลแบบปกติ ให้รออย่างน้อย 2 วินาที แล้วกด refresh ที่ บราวเซอร์<br>
จะแสดงข้อความ Cache Data ใต้กล่องสี่เหลี่ยมสีเหลืองแก่ แสดงว่าเป็นข้อมูลจากการ cache<br>
และข้อมูลการ cache จะอยู่นาน 10 วินาที ตามที่กำหนดในตัวอย่าง ซึ่งสามารถกำหนด เป็นจำนวนที่มากๆ ได้ ขึ้นอยู่กับความต้องการแสดงข้อมูลให้เป็นปัจจุบัน</p>
</div>
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
</body>
</html>
<?php
if(!isset($_POST['genTime'])){
echo "<script type="text/javascript">rn";
echo "$(function(){rn";
echo "setTimeout(function(){rn";
echo "$.post('genCache.php',{nameFile:'".$fullPathFile."'});rn";
echo "},2000);rn";
echo "});rn";
echo "</script>rn";
}
}else{
echo $page_cache; // แสดงข้อมูลที่ทำการ cache
echo "Cache Data"; // สำหรับทดสอบว่า เป็นข้อมูลที่ได้จากการ cache หรือไม่ เมื่อใช้งาน สามารถ comment บรรทัดนี้ หรือลบทิ้งได้
}
?>
โค้ดไฟล์ genCache.php
<?php
include("cache-kit.php"); // เรียกใช้ไฟล์ php class
$cache_active = true; // กำหนดให้ทำการ cache
$cache_folder = 'cache/'; // กำหนดไฟลเดอร์ที่ไว้เก็บไฟล์ cache
$url = $_POST['nameFile'];
$data = array('genTime' => time());
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$data = curl_exec($ch);
curl_close($ch);
acmeCache::save($_POST['nameFile'].$n_browser,$data); // ทำการบันทึก html จากตัวแปร $page_cache ไว้ใน cache ชื่อ page_cache
?>
ลิ้งค์ตัวอย่าง
http://www.ninenik.com/demo/cache-page/example.php
บทความคนเข้าอ่านวันนี้
07 Aug 10 ใช้ css แบ่งเนื้อหา เป็นคอลัมน์ พร้อมแบ่งหน้า ด้วย php อ่าน 2896 16 Aug 09 เริ่มต้น jQuery UI กับการสร้าง ปฏิทินเลือกวันที่ datepicker อ่าน 17502 29 Mar 09 ทบทวนการตัดข้อความด้วย PHP อ่าน 3760 25 Sep 08 หาตำแหน่งของ element แนวแกน x แกน y ด้วยฟังก์ชันของ jQuery อ่าน 2584 10 Oct 10 การใช้งาน stream.publish ของ facebook Old REST API ด้วย php sdk อ่าน 2452 04 Nov 08 สร้าง RSS บทความหรือข่าวสาร ด้วย PHP อ่าน 3102 26 Jan 12 แสดง icons กำหนดรูปเอง ให้จุดเริ่มเต้น และสิ้นสุดของเส้นทาง ใน google map อย่างง่าย อ่าน 444 25 Sep 08 ข้อความ Text การจัดการเกี่ยวกับขนาดและรูปร่างของข้อความ อ่าน 3725 30 Mar 09 ค้นหาและ hilight ข้อความในหน้าเว็บเพจด้วย jQuery อ่าน 2780 25 Sep 08 การกำหนด selectors ด้วย jQuery แบบตัวกรองพื้นฐาน อ่าน 2714 03 Apr 09 ง่ายๆ กับการลดช่องว่างในข้อความด้วย php อ่าน 1671 10 Nov 08 สร้างฟังก์ชันเขียนไฟล์ด้วย PHP อ่าน 2429 21 Jan 11 การใช้งาน Meta characters ใน Regular Expressions ของ PHP อ่าน 1049 11 Aug 10 ปรับแต่ง facebook comments ด้วย css กำหนด style ให้เข้ากับเว็บ อ่าน 17760 18 Aug 10 ใช้ php ดึงรูปภาพ จากโฟลเดอร์ มาแสดง พร้อม เทคนิค แบ่งหน้า อ่าน 4564 25 Sep 08 Jquery javascript library มาแรง อ่าน 6384 09 Nov 08 สร้างปฏิทินด้วย php และ css โดยไม่ต้องใฃ้ตาราง อ่าน 10470 04 Dec 09 จัดการ Directory สร้าง ลบ เปลี่ยนชื่อ กำหนด permission ผ่าน FTP function ด้วย PHP อ่าน 1409 27 Oct 10 cookie กับการประยุกต์ ใช้งาน เปลี่ยน background พื้นหลัง ด้วย jQuery และ php อ่าน 1514 17 Oct 08 แสดงตัวอย่างรูป ก่อน upload image preview berfore upload อ่าน 9068
