PHP Ionic Angularjs Phonegap AJAX Javascript CSS MySQL jQuery Forum


เพิ่มความเร็ว ให้กับการ cache ด้วย jquery ajax และ php cache class

09 July 2010 By
cache ajax php jquery


ดาวโหลดไฟล์ตัวอย่าง และไฟล์ที่จำเป็นได้ที่
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







Tags:: jquery ajax php cache






อย่าลืมกด Like กด Share เป็นกำลังใจ ในการสร้างบทความใหม่ๆ น่ะครับ


URL สำหรับอ้างอิง