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

เขียนเมื่อ 14 ปีก่อน โดย Ninenik Narkdee
cache jquery ajax php

คำสั่ง การ กำหนด รูปแบบ ตัวอย่าง เทคนิค ลูกเล่น การประยุกต์ การใช้งาน เกี่ยวกับ cache jquery ajax php

ดูแล้ว 14,399 ครั้ง




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


ลิ้งค์ตัวอย่าง
#



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





Tags:: ajax jquery php cache







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





คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )







เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ