CodeIgniter - Trang Cache
Lưu vào bộ nhớ đệm một trang sẽ cải thiện tốc độ tải trang. Nếu trang được lưu trong bộ nhớ cache, thì nó sẽ được lưu trữ ở trạng thái được hiển thị đầy đủ. Lần tới, khi máy chủ nhận được yêu cầu cho trang đã lưu trong bộ nhớ cache, nó sẽ được gửi trực tiếp đến trình duyệt được yêu cầu.
Các tệp được lưu trong bộ nhớ cache được lưu trữ trong application/cachethư mục. Bộ nhớ đệm có thể được bật trên cơ sở mỗi trang. Trong khi kích hoạt bộ nhớ cache, chúng ta cần đặt thời gian, cho đến khi nó cần ở trong thư mục được lưu trong bộ nhớ cache và sau khoảng thời gian đó, nó sẽ tự động bị xóa.
Bật bộ nhớ đệm
Bộ nhớ đệm có thể được kích hoạt bằng cách thực hiện dòng sau trong bất kỳ phương thức nào của bộ điều khiển.
$this->output->cache($n);
Ở đâu $n là số minutes, bạn muốn trang vẫn được lưu trong bộ nhớ cache giữa các lần làm mới.
Tắt bộ nhớ đệm
Tệp bộ nhớ đệm sẽ bị xóa khi nó hết hạn nhưng khi bạn muốn xóa nó theo cách thủ công, thì bạn phải vô hiệu hóa nó. Bạn có thể tắt bộ nhớ đệm bằng cách thực hiện dòng sau.
// Deletes cache for the currently requested URI
$this->output->delete_cache();
// Deletes cache for /foo/bar
$this->output->delete_cache('/foo/bar');
Thí dụ
Tạo một bộ điều khiển có tên Cache_controller.php và lưu nó vào 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');
}
}
?>
Tạo một tệp dạng xem có tên test.php và lưu nó vào 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>
Thay đổi routes.php trong tập tin application/config/routes.php để thêm tuyến đường cho bộ điều khiển trên và thêm dòng sau vào cuối tệp.
$route['cachecontroller'] = 'Cache_controller';
$route['cachecontroller/delete'] = 'Cache_controller/delete_file_cache';
Nhập URL sau vào trình duyệt để thực thi ví dụ.
http://yoursite.com/index.php/cachecontroller
Sau khi truy cập URL ở trên, bạn sẽ thấy rằng một tệp bộ đệm ẩn cho việc này sẽ được tạo trong application/cachethư mục. Để xóa tệp, hãy truy cập URL sau.
http://yoursite.com/index.php/cachecontroller/delete