Tăng tốc độ truy cập website thông qua việc mở cache bằng php

  • 25/06/2014
  • 1876
  • 0
Có rất nhiều cách để bạn cải thiện tốc độ truy cập cho website của mình. Trong đó, việc mở cache bằng php là một phương pháp khá đơn giản mà đem lại hiểu quả khá cao

Tốc độ luôn là vấn đề sống còn của một website. Tốc độ tải trang chậm, google bot không thể index, người dùng khó chịu khi truy cập, và website của bạn sẽ đi đời. Trong bài viết Cải thiện thời gian truy cập website bằng việc tối ưu hóa CSS chúng tôi đã hướng dẫn các bạn cách cải thiện tốc độ tải trang bằng cách tối ưu CSS. Hôm nay, chúng tôi xin chia sẻ cách tối ưu tốc độ cho website bằng cách tạo cache bằng PHP.

speed up 2

Bạn tạo file php mới, đặt tên cho file này là top-cache.php và copy toàn bộ code dưới đây và paste vào file mới tạo.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
<!--?php
$url = $_SERVER["SCRIPT_NAME"];
$break = Explode('/', $url);
$file = $break[count($break) - 1];
$cachefile = 'cached-'.substr_replace($file ,"",-4).'.html';
$cachetime = 18000;
// Serve f-rom the cache if it is younger than $cachetime
if (file_exists($cachefile) && time() - $cachetime < filemtime($cachefile)) {
    echo "{C}<!-- Cached copy, generated ".date('H:i', filemtime($cachefile))." -->\n";
    include($cachefile);
    exit;
}
ob_start(); // Start the output buffer
?>

5 dòng đầu tiên trong đoạn code bên trên sẽ tạo tên cho file cache dựa vào tên php hiện tại. Giả sử bạn cần tạo cache cho file list.php, thì tên cache file được tạo sẽ là cached-list.html.

Dòng code thứ 6 sẽ tạo một biến $cachetime, biến này sẽ quyết định vòng đời tồn tại của cache. Từ dòng 9 – 13 là dòng điều kiện kiểm tra xem file cache đã được tạo trước đó hay chưa, nếu nó đã tồn tại thì nó sẽ được chèn vào (tại dòng 10) sau đó nó sẽ thoát với câu lệnh exit.

Tương tự, các bạn tạo thêm 1 file và đặt tên cho nó là bottom-cache.php và lại sử dụng đoạn code dưới đây cho nó.

1
2
3
4
5
6
7
<!--?php
// Cache the contents to a file
$cached = fopen($cachefile, 'w');
fwrite($cached, ob_get_contents());
fclose($cached);
ob_end_flush(); // Send the output to the browser
?>

Nếu tên file $cachefile không tìm thấy trên server, thì đoạn code bên trên sẽ được thực thi và nội dung sẽ được ghi vào file $cachefile  này. Để lần gọi kế tiếp, thay vì phải thực thi lại toàn bộ file php thì file tĩnh $cachefile sẽ được trả về tại máy người dùng.

Đến đây đã gần xong rồi, mỗi khi muốn tạo cache cho một trang bất kì, bạn chỉ cần đặt:

1
2
3
4
5
6
7
8
<!--?php
 
include('top-cache.php');
 
// PHP code thong thuong dat o day
 
include('bottom-cache.php');
?>

Xong. Bạn có thể kiểm tra lại việc tải trang mà bạn vừa đặt và cảm nhận về tốc độ được cải thiện như thế nào. Hy vọng thủ thuật nhỏ này sẽ giúp ích được cho các bạn. Ngoài tốc độ tải trang thì sao lưu dữ liệu cũng là một việc rất quan trọng trong việc quản lý website. Bạn có thể xem qua bài viết Bảo đảm an toàn dữ liệu bằng việc sao lưu Database tự động bằng PHP để có được phương pháp rút ngắn thời gian cho việc sao lưu dữ liệu.

  Ý kiến bạn đọc

Bạn cần trở thành thành viên của nhóm để có thể bình luận bài viết này. Nhấn vào đây để đăng ký làm thành viên nhóm!
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây