Bang hộiTiền mặt: 0 Xu Trò chơiHộp quà giáng sinhThứ Ba, 16:33:55 - 19/11/2024
Chia sẻ kiến thức ngôn ngữ lập trình C, C++, C#, Java, Python, PHP, JS, SQL ...

Các điều hành viên: Mod, SMod, Admin

Hướng dẫn tạo file cache php cho website

Hướng dẫn tạo file cache php cho website

#1 » Gửi bài gửi bởi nghiammo1992 » 06/06/2016 16:07 » @440636

Tốc độ luôn luôn là vấn đề sống còn cho một website, bạn thử tưởng tượng xem, nếu bạn viếng thăm một trang web hay blog nào đó, mà thời gian load trang rất lâu thì ắt hẳn là bạn sẽ chẳng còn muốn quay lại website hay blog đó nữa. Có rất nhiều cách để cải thiện tốc độ load trang web, và một trong số đó là tạo cache.

Cache website giúp bạn cải thiện tốc độ load trang web, giảm tải cpu, ram và process của hosting, vps, server, đồng thời giảm truy vấn dữ liệu mysql, qua đó giúp bạn tiết kiệm tài nguyên server đến mức tối đa nhất

Mình sẽ không đi sâu quá nhiều về định nghĩa Cache, trong bài viết này, mình sẽ chia sẻ cho các bạn 3 bước để tạo cache cho trang web bằng PHP.

Hướng dẫn tạo file cache php cho website

Bước 1 : Tạo file top-cache.php

- Các bạn tạo một file mới, và đặt tên cho file này là top-cache.php sau đó copy toàn bộ đoạn code bên dưới và dán (paste) vào nó.

Mã: Chọn tất cả
<?php
$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 "
<!-- Cached copygenerated ".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ính theo giây. 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

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

- Tương tự như bước 1 , các bạn tạo một file mới và đặt tên là bottom-cache.php, sau đó copy toàn bộ đoạn code sau và dán vào bên trong nó.

Mã: Chọn tất cả
<?php
// Cache the contents to a file
$cached fopen($cachefile'w');
fwrite($cachedob_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.

Bước 3 : Chèn cache files vào trang của các bạn

- Bây giờ, mỗi khi các bạn cần tạo cache cho trang nào, thì chỉ cần đặt như sau :

Mã: Chọn tất cả
<?php
 
include('top-cache.php');
 
// PHP code thong thuong dat o day
 
include('bottom-cache.php');
?>


- Bây giờ các bạn có thể áp dụng ngay cache cho những trang có tốc độ load chậm và kiểm tra lại tốc độ cho những lần kế tiếp thử xem. Mình mong là với thủ thuật đơn giản này, sẽ giúp ích cho các bạn.
Sửa lần cuối: nghiammo1992 06/06/2016 16:10

Những người đã like nghiammo1992 bởi bài viết có ích này:
Wlion98
nghiammo1992 ✅
Hình đại diện của thành viên
Rank: ☀️2/30☀️
Cấp độ:
Tu luyện:
Like:
Online:
Bang hội: Tiếu Ngạo
Xếp hạng Bang hội: ⚡5/46⚡
Level:
Chủ đề đã tạo: 🩸4141/4141🩸
Tiền mặt:
Ngân hàng:
Nhóm:
Danh hiệu: ⚝⚝⚝Truyền Thuyết⚝⚝⚝
Giới tính:
Ngày tham gia:
Đến từ:
Thiết bị:
Số điện thoại:
(Cốc Cốc 55.2.116)


Quay về C, C++, C#, Java, Python, PHP, JS, SQL ...

 


  • Chủ đề tương tự
    Trả lời
    Xem
    Bài viết mới nhất