Thủ thuật PHP (2/7): Từng bước tạo cache cho trang web bằng PHP

Từng bước tạo cache cho trang web bằng PHP

Cache hay còn gọi là bộ đệm là một kỹ thuật mà bất kì một nhà quản trị web nào cũng cần phải biết. Cache giúp cho trang web của bạn sẽ được load nhanh hơn. Trong bài viết này mình sẽ chia sẻ với các bạn một cách tạo file cache cho web của mình cực kì đơn giản nhưng lại hiệu quả rất cao.

sơ đồ minh họa cache

Bước 1 : Tạo file top-cache.php
Chúng ta sẽ cần tạo ra 2 file, và đây là file đầu tiên mà chúng ta cần tạo. Các bạn tạo một file mới và đặt tên là top-cache.php sau đó copy đoạn code bên dưới bỏ vào bên trong.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$url = $_SERVER["SCRIPT_NAME"];
$break = Explode('/', $url);
$file = $break[count($break) - 1];
$cachefile = 'cached-'.substr_replace($file ,"",-4).'.html';
$cachetime = 18000;
// Serve from the cache if it is younger than $cachetime
if (file_exists($cachefile) && time() - $cachetime < filemtime($cachefile)) {
echo "n";
include($cachefile);
exit;
}
ob_start(); // Start the output buffer
?>

Trong đoạn code trên, 5 dòng đầu có nhiệm vụ là tạo một file mới và đặt tên theo file hiện tại. Giả sử bạn đang chạy file list.php thì file cache sẽ được tạo mới và đặt tên là cached-list.html.

Dòng thứ 6 tạo một biến $cachetime dùng để ấn định vòng đời của cache.

Bước 2 :  Tạo file bottom-cache.php

Bây giờ đến lượt file thứ 2, các bạn tạo file mới và đặt tên là bottom-cache.php, sau đó copy và dán đoạn code sau vào bên trong.

1
2
3
4
5
6
7
// 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
?>

Bước 3 : Chèn file cache vào trang của bạn.
Bây giờ chúng ta đã có 2 file cache, việc cần làm bây giờ là chèn chúng vào trang php mà bạn cần tạo cache. Các bạn sẽ chèn như sau :

1
2
3
include('top-cache.php');
// Đoạn code mà bạn vẫn thường viết sẽ nằm ở đây
include('bottom-cache.php');

Việc cuối cùng là các bạn thử test cache trên những trang chạy chậm của các bạn thử xem sao. Các bạn sẽ thấy tốc độ trang sẽ được cải thiện đáng kể đó.

Chúc các bạn thành công !

»»» Bài viết liên quan:

01. Thủ thuật PHP (1/7): 10 đoạn code PHP về chuỗi (Strings) cho người bắt đầu

02. Thủ thuật PHP (2/7): Từng bước tạo cache cho trang web bằng PHP

03. Thủ thuật PHP (3/7): Tự tay tạo trang diễn đàn (forum) bằng PHP

04. Thủ thuật PHP (4/7): Tạo ứng dụng đếm số người đang online bằng PHP

05. Thủ thuật PHP (5/7): Tạo ứng dụng xác minh địa chỉ email bằng PHP

06. Thủ thuật PHP (6/7): Top 10 trang web giúp bạn mã hóa code PHP

07. Thủ thuật PHP (7/7): Hướng dẫn liệt kê danh sách thư mục và file bằng PHP

Comments