NTM Solutions

Thứ Hai, 10 tháng 12, 2018

Tự học CodeIgniter-Bài 18-Caching trang web

 

#hoccodeigniter


CodeIgniter cho phép bạn lưu cache các trang nhằm mục đích đạt tối ưu hóa hiệu năng.

Mặc dù CodeIgniter hoạt động khá là nhanh, lưu lượng thông tin động mà bạn hiển thị trong các trang sẽ liên quan trực tiếp đến tài nguyên máy chủ, bộ nhớ, và chu kỳ của tiến trình , là những thứ sẽ ảnh hưởng đến tốc độ tải trang. Bằng cách caching các trang,do đó chúng sẽ không phải tải lại toàn bộ, vì thế bạn có thể đạt hiệu năng gần như là các trang tĩnh.


Hoạt động của Caching?

Tính năng Caching có thể được kích hoạt cho từng trang cơ bản, và bạn có thể thiết lập khoảng thời gian 01 trang phải chờ cached trước khi được làm mới lại. Khi 01 trang được tải lần đầu, tập tin cache sẽ được ghi vào thư mục application/cache . Ở lần tải sau, tập tin cache sẽ được nhận và gửi tới theo yêu cầu từ trình duyệt người dùng. Nếu hết hạn, nó sẽ bị xóa và làm mới lại trước khi được gửi tới trình duyệt.

Kích hoạt Caching

Để kích hoạt caching, đặt đoạn mã sau vào bất kỳ phương thức controller nào:

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

Với $n là số phút bạn muốn trang vẫn nằm trong cached giữa các lần refreshes.

Đoạn mã trên không quan tâm đến thứ tự bạn đặt nó trong phương thức, vì thế ta có thể đặt nó ở đâu miễn thấy hợp lý là được. 01 khi đã có đoạn mã này các trang của bạn sẽ bắt đầu lưu cached.

Điểm quan trọng:

·         Bởi vì cách CodeIgniter lưu trữ nội dung xuất, việc caching sẽ chỉ hoạt động nếu bạn hiển thị từ controller thông qua 01 view.

·         Nếu bạn thay đổi các tùy chọn cấu hình sẽ ảnh hưởng đến việc xuất dữ liệu, bạn phải xóa thủ công các tập tin cache.

Ghi chú:

Trước khi các tập tin cache có thể ghi được bạn phải phân quyền cho thư mục application/cache/ là có thể ghi được.

Xóa Caches

Nếu bạn không còn muốn lưu cache 01 tập tin nữa bạn có thể xóa phần lưu caching và nó sẽ không còn khi ta làm mới trình duyệt (refresh) lúc trang đã hết hạn.

Ghi chú:

Xóa đoạn mã sẽ không xóa cache ngay. Thông thường nó sẽ cần 01 khoảng thời gian hết hạn.

Nếu bạn muốn xóa cache thủ công, bạn có thể dùng phương thức delete_cache()

// Xóa cache cho URI đã yêu cầu hiện hành

$this->output->delete_cache();



// Xóa cache cho /foo/bar

$this->output->delete_cache('/foo/bar');

Nếu vẫn chưa rõ các bạn xem thêm video clip sau:




By #tiensim

Nguồn: User Guide – General Topics

Không có nhận xét nào:

Đăng nhận xét

Facebook Youtube Google+