CodeIgniter - การแคชเพจ

การแคชเพจจะช่วยเพิ่มความเร็วในการโหลดเพจ หากเพจถูกแคชไว้เพจนั้นจะถูกเก็บไว้ในสถานะแสดงผลอย่างสมบูรณ์ ครั้งต่อไปเมื่อเซิร์ฟเวอร์ได้รับคำขอสำหรับหน้าที่แคชไว้เซิร์ฟเวอร์จะถูกส่งไปยังเบราว์เซอร์ที่ร้องขอโดยตรง

ไฟล์แคชจะถูกเก็บไว้ใน application/cacheโฟลเดอร์ สามารถเปิดใช้งานการแคชแบบต่อหน้า ในขณะที่เปิดใช้งานแคชเราต้องตั้งเวลาจนกว่าจะต้องอยู่ในโฟลเดอร์แคชและหลังจากช่วงเวลาดังกล่าวจะถูกลบโดยอัตโนมัติ

เปิดใช้งานการแคช

สามารถเปิดใช้งานการแคชได้โดยดำเนินการบรรทัดต่อไปนี้ในวิธีการใด ๆ ของคอนโทรลเลอร์

$this->output->cache($n);

ที่ไหน $n คือจำนวน minutes, คุณต้องการให้เพจยังคงแคชระหว่างการรีเฟรช

ปิดการใช้งานการแคช

ไฟล์แคชจะถูกลบเมื่อหมดอายุ แต่เมื่อคุณต้องการลบด้วยตนเองคุณต้องปิดการใช้งาน คุณสามารถปิดใช้งานการแคชได้โดยดำเนินการตามบรรทัดต่อไปนี้

// Deletes cache for the currently requested URI 
$this->output->delete_cache();
  
// Deletes cache for /foo/bar 
$this->output->delete_cache('/foo/bar');

ตัวอย่าง

สร้างตัวควบคุมที่เรียกว่า Cache_controller.php และบันทึกไว้ใน application/controller/Cache_controller.php

<?php 
   class Cache_controller extends CI_Controller { 
	
      public function index() { 
         $this->output->cache(1); 
         $this->load->view('test'); 
      }
		
      public function delete_file_cache() { 
         $this->output->delete_cache('cachecontroller'); 
      } 
   } 
?>

สร้างไฟล์มุมมองที่เรียกว่า test.php และบันทึกไว้ใน application/views/test.php

<!DOCTYPE html> 
<html lang = "en">
 
   <head> 
      <meta charset = "utf-8"> 
      <title>CodeIgniter View Example</title> 
   </head>
	
   <body> 
      CodeIgniter View Example 
   </body>
	
</html>

เปลี่ยน routes.php ไฟล์ใน application/config/routes.php เพื่อเพิ่มเส้นทางสำหรับคอนโทรลเลอร์ด้านบนและเพิ่มบรรทัดต่อไปนี้ที่ท้ายไฟล์

$route['cachecontroller'] = 'Cache_controller'; 
$route['cachecontroller/delete'] = 'Cache_controller/delete_file_cache';

พิมพ์ URL ต่อไปนี้ในเบราว์เซอร์เพื่อดำเนินการตามตัวอย่าง

http://yoursite.com/index.php/cachecontroller

หลังจากไปที่ URL ด้านบนคุณจะเห็นว่าไฟล์แคชสำหรับสิ่งนี้จะถูกสร้างขึ้นใน application/cacheโฟลเดอร์ หากต้องการลบไฟล์ให้ไปที่ URL ต่อไปนี้

http://yoursite.com/index.php/cachecontroller/delete