Thiết kế web cần biết
Bảng giá
Thiết kế web
Giới thiệu BienThietKeWeb
Dịch vụ thiết kế web
Tư vấn thiết kế web
Quy trình thiết kế web
Khách hàng thiết kế web
Liên hệ BienThietKeWeb

Nếu bạn có server mạnh, code trang web của bạn tối ưu hết mức các yếu tố như dung lượng Html, dung lượng các file ảnh trên site, các file javascript, file css...thì tốc độ tải trang là nhanh hoặc rất nhanh. Tuy nhiên, một phần khá quan trọng là CSDL(cơ sở dữ liệu) mà bạn chưa xử lý tốt, ví dụ như chưa tạo cache(bộ nhớ đệm) cho CSDL thì web sẽ xuất hiện lỗi khi hàng nghìn( thậm chí hàng trăm) lượt truy cập một lúc.

Trong framework CodeIgniter có chức năng tạo cache(bộ nhớ đệm), bao gồm cache database và cache Html. Với hai chức năng này của CI, bạn hãy yên tâm là trang web của bạn vẫn hoạt động tốc khi hàng nghìn lượt truy cập một lúc.

Tôi xin giới thiệu cách sử dụng cache của CodeIgniter:

1. Cách 1: Sử dụng cache database

Tìm đến file database.php trong thư mục application, sẽ thấy 2 dòng:
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "";

Đổi giá trị hai biến như sau:
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "system/cache/cachedata";

Lúc này chức năng cache database đã được bật với CI. Lần gọi thứ nhất đến CSDL, CI sẽ truy cập đến CSDL và tạo cache rồi lưu vào thư mục cachedata, sau lần này CI sẽ truy cập trực tiếp đến thư mục cachedata để lấy file cache, thay vì truy cập trực tiếp đến CSDL. Như vậy đã giảm tải cho CSDL.

2. Cách 2: Sử dụng cache Html

Thêm dòng lệnh $this->output->cache($time); vào trước lệnh gọi view (xem thêm bài cấu hình MVC cho CI), trong đó $time là khoảng thời gian file cache Html tồn tại, sau khoảng thời gian $time, file cache mới sẽ được tạo lại và ghi đè lên file cũ.

Tìm đến file config.php trong thư mục application, sẽ thấy dòng lệnh:
$config['cache_path'] = '';
Đổi giá trị như sau để chỉ định thư mục lưu cache Html:
$config['cache_path'] = 'system/cache/cachehtml/';

Lúc này cache Html sẽ được lưu vào thư mục cachehtml. Lần gọi thứ nhất CI sẽ truy cập đến cơ sở dữ liệu và write ra file Html, sau lần này CI sẽ gọi đến file Html thay vì truy cập đến CSDL. Như vậy vừa giảm tải cho CSDL và server rất nhiều vì chỉ gọi lại file Html.

Chú ý:

- Nếu trang web của bạn có một số phần(ví dụ như tính lượt truy cập, tính khách đang online) thì sử dụng cache Html của CodeIgniter là không hợp lý.
- Với cache data thì bằng cách thêm dòng lệnh sau: $this->db->cache_off();, trước mỗi lần gọi đến đoạn code mà nội dung thay đổi theo thời gian(lượt truy cập, online). Sau đó nếu muốn sử dụng cache data trở lại cho các câu lệnh tiếp theo thì phải thêm dòng lệnh $this->db->cache_on();
- Chúng ta không thể sử dụng đồng thời cache data và cache html
- Tốc độ trang web sẽ nhanh hơn khi sử dụng cache html so với cache data

Nguyễn Văn Biển sưa tầm và biên soạn
Bài viết ở: Trang chủ > Góc lập trình > CodeIgniter > Cache Html và cache database với framework CodeIgniter
Skype hỗ trợ thiết kế web
YM hỗ trợ thiết kế web
Hotline: 0163 326 0861
               094 296 9493
Bạn quan tâm đến mức giá nào nhất ?
  • hpmarket.vn
  • visasforvietnam.com
  • boscowindow.vn
  • hangkhongvn.vn
  • anviettravel.vn
Thông báo
Loading...