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 tải 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 cache cho trang web của mình cực kì đơn giản nhưng lại hiệu quả rất cao.
Tạo cache
Để tạo cache cho trang web bằng PHP, các bạn đặt đoạn mã sau vào đầu của website.
<?php
$cache_ext = '.html';
$cache_time = 43200;
$cache_folder = 'cache/';
$ignore_pages = array('', '');
$dynamic_url = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . $_SERVER['QUERY_STRING'];
$cache_file = $cache_folder . md5($dynamic_url) . $cache_ext;
$ignore = (in_array($dynamic_url, $ignore_pages)) ? true : false;
if (!$ignore && file_exists($cache_file) && time() - $cache_time < filemtime($cache_file)) {
ob_start('ob_gzhandler');
readfile($cache_file);
echo '<!-- Cached page - ' . date('l jS \of F Y h:i:s A', filemtime($cache_file)) . ', Page: ' . $dynamic_url . ' -->';
ob_end_flush();
exit();
}
ob_start('ob_gzhandler');
?>
Tiếp đến, đặt đoạn mã sau vào cuối trang web.
<?php
if (!is_dir($cache_folder)) {
mkdir($cache_folder);
}
if(!$ignore){
$fp = fopen($cache_file, 'w');
fwrite($fp, ob_get_contents());
fclose($fp);
}
ob_end_flush();
?>
Tùy chỉnh
Bạn có thể tùy chỉnh thời gian cache tồn tại bằng cách thay đổi biến $cache_time = 43200;
. Thời gian tính bằng giây. Để tạo lại cache, các bạn vào thư mục cache
và xóa tập tin được tạo ra.
Chúc các bạn thành công!
Không có bình luận.