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