Hướng dẫn dùng cache size trong PHP

Hầu hết các web server có thể xử lý các lượng truy cập bình thường và đa phần các trang web không có quá nhiều truy cập. Vì vậy, có thể bạn tự hỏi: Tại sao bạn nên cache trang web của bạn được hỗ trợ PHP? Các máy chủ web có thể phục vụ nhiều yêu cầu (request), nhiều file cùng một lúc, nhưng tất cả các file này nên là file tĩnh. Một tập lệnh PHP được thực thi bởi máy chủ web và tiếp theo nó sẽ tạo ra dữ liệu HTML được gửi đến người dùng (trình duyệt web). Cho nên khi thực hiện điều này, máy chủ cần sử dụng nhiều bộ nhớ hơn cách gửi một file tới người dùng.

Nội dung chính

  • Các trang web không chỉ có truy cập từ người dùng thật
  • Dùng WP Super Cache nếu với WordPress
  • Cache cho các trang web PHP khác
  • Hướng dẫn PHP cache cơ bản
  • Trang Caching là gì?
  • Bước một: Tạo tệp Top-cache.php
  • Bước hai: Tạo tệp Bottom-cache.php
  • Bước ba: Bao gồm các tệp bộ nhớ cache trên trang của bạn
  • Các câu hỏi thường gặp
  • OpCode Cache là gì?
  • Làm cách nào để kích hoạt OpCode Cache?

Các trang web không chỉ có truy cập từ người dùng thật

Nếu trang WordPress hoặc PHP của bạn có một vài người truy cập trong vòng một giờ, một máy chủ web sẽ có thể xử lý TẤT CẢ các trang và trả về cho người dùng truy cập mà không gặp bất kỳ sự cố nào. Mọi thứ vẫn tốt đẹp, nhưng sẽ như thế nào nếu trang web của bạn được truy cập bởi bot hay ddos? Kịch bản xấu nhất là các truy cập "không tự nhiên" này có thể làm chậm trang web của bạn và tất cả các trang web khác được lưu trữ trên cùng một web server!

Dùng WP Super Cache nếu với WordPress

Ngay cả khi trang WordPress của bạn không có nhiều bài đăng hoặc nhận xét, bạn vẫn nên cài đặt plugin WP Super Cache. Plugin này hoạt động trên hầu hết các máy chủ và có thể coi như một bảo hiểm cho website của bạn sống khỏe! WordPress cần rất nhiều truy vấn cơ sở dữ liệu để hiển thị một trang duy nhất cho mỗi người dùng truy cập. Mỗi kết nối cơ sở dữ liệu cần một số bộ nhớ và sẽ sử dụng một số CPU. Sử dụng plugin cache này giúp trang bình thường đã xem không sử dụng cơ sở dữ liệu nữa và máy chủ của bạn có thể xử lý nhiều lưu lượng truy cập hơn.

Cache cho các trang web PHP khác

Có rất nhiều cách để cache trang web PHP của bạn, có các module cache riêng biệt khả dụng hoặc giúp tạo ra các phiên bản cache với mỗi trang sử dụng PHP. Giải pháp nào tốt nhất cho tình huống của bạn - điều này phụ thuộc vào ứng dụng và loại lưu trữ mà bạn đang sử dụng.

Hướng dẫn PHP cache cơ bản

Nếu bạn đang tìm kiếm cách để lưu cache các trang đơn từ trang web của mình, bạn nên thử hướng dẫn này. Đoạn mã đơn giản có thể "tải xuống" mã HTML từ trang được chọn và lưu trữ mã HTML dưới dạng trang tĩnh. Code sau sẽ kiểm tra, đọc / ghi và xuất ra phiên bản bộ nhớ cache.

Đoạn code trên khá đơn giản nhưng không có độ tùy biến cao. Để làm nó này hoạt động, bạn cần tạo một danh sách cho các tệp tin cache và cho URL. Trong ví dụ tiếp theo chúng ta sử dụng một số mod_rewrite cho phù hợp với cấu trúc tập tin.

Trong trường hợp sau, chúng ta sử dụng một phần từ URL và chuyển chuỗi này như một biến bằng cách sử dụng chuỗi truy vấn. Dưới đây là một số URL ví dụ:

http://domain.com/page/great-post-about-scripts
http://domain.com/page/php-upload-tutorial 
http://domain.com/page/jquery-plugin-review 

Trong tệp tin .htaccess chúng ta sử dụng quy tắc này:

RewriteEngine on
RewriteRule ^page/([a-z-]*)$ /page.php?pageurl=$1 [L]

Công cụ ghi đè sẽ truyền bất cứ thứ gì sau "page/" vào tệp page.php dưới dạng một chuỗi truy vấn. Bên trong file page.php, chúng ta cần một code để tự động hóa yêu cầu của chúng ta và tạo ra phiên bản bộ nhớ cache.

Đoạn code sử dụng trong hướng dẫn trên chỉ là một ví dụ, bạn cần thay đổi code để làm cho nó hoạt động trong tình huống của bạn. Nếu bạn có thắc mắc, nhận xét hoặc đề xuất, xin vui lòng gửi chúng vào phần bình luận dưới đây, cảm ơn!

Khi làm việc trên các trang web PHP được tạo từ đầu và không có khuôn khổ, tốc độ thường có thể là một vấn đề. Bộ nhớ đệm cực kỳ hữu ích để tăng tốc các trang web PHP.

Trong bài viết này, tôi sẽ chỉ cho bạn cách tạo một hệ thống cache PHP đơn giản cho các trang web của bạn.

Trang Caching là gì?

Bộ nhớ đệm trang là một kỹ thuật tìm cách tạo ra một bộ sưu tập dữ liệu trùng lặp khi dữ liệu gốc tốn kém để tìm nạp hoặc tính toán (thường là về thời gian truy cập).

Vì PHP là một ngôn ngữ lập trình thông dịch, máy chủ phải thực thi mã mỗi khi một trang PHP được yêu cầu. Tùy thuộc vào độ phức tạp và độ dài của script, thao tác này có thể mất thời gian và đòi hỏi nhiều tài nguyên. Nếu trang web của bạn có nhiều lưu lượng truy cập, nó thực sự có thể làm chậm máy chủ và trang web của bạn.

Hướng dẫn dùng cache size trong PHP

Nếu một trang web được lưu trong bộ đệm, tập lệnh sẽ kiểm tra xem tệp bộ đệm liên quan có tồn tại hay không. Nếu đúng như vậy, tệp tĩnh, được lưu trong bộ nhớ cache sẽ được gửi đến trình duyệt của khách truy cập. Nếu không, phiên bản tĩnh của trang động sẽ được tạo tự động vào lần đầu tiên khách truy cập yêu cầu.

Bằng cách tạo phiên bản tĩnh của các trang động, hệ thống bộ nhớ đệm tiết kiệm rất nhiều tài nguyên máy chủ vì tập lệnh PHP chỉ được thực thi một lần, thay vì nó được thực thi mỗi khi trang được yêu cầu.

Tệp bộ nhớ đệm có thời gian tồn tại cụ thể do nhà phát triển thiết lập. Nếu thời gian tồn tại đã xác định bị vượt quá, máy chủ sẽ thực thi tập lệnh PHP và sau đó tạo ra một phiên bản mới được lưu trong bộ nhớ cache của nó.

Bước một: Tạo tệp Top-cache.php

Chúng ta cần tạo hai tệp. Đây là cách đầu tiên: Tạo một tệp mới có tên top-cache.phpvà dán mã bên dưới vào đó.

\n";
    readfile($cachefile);
    exit;
}
ob_start(); // Start the output buffer
?>

Mã này làm gì? Năm dòng đầu tiên tạo tên tệp được lưu trong bộ nhớ cache theo tệp PHP hiện tại. Vì vậy, nếu bạn đang sử dụng một tệp có tên list.php, trang web được tạo bởi bộ nhớ đệm của trang sẽ được đặt tên cached-list.html.

Dòng sáu tạo ra một $cachetimebiến, xác định tuổi thọ của bộ nhớ cache đơn giản của chúng ta (thời gian Cachefile).

Các dòng từ chín đến mười ba là một câu lệnh điều kiện tìm kiếm một tệp bộ đệm có tên $cachefile. Nếu tệp được tìm thấy, một chú thích sẽ được chèn (dòng mười) và $cachefiletệp được bao gồm. Sau đó, exitcâu lệnh dừng việc thực thi tập lệnh và tệp được gửi đến trình duyệt máy khách. Điều này có nghĩa là nếu một tệp tĩnh được tìm thấy, thì không có PHP nào được máy chủ thông dịch.

Dòng 14 tạo bộ đệm nếu $cachefilekhông tìm thấy tệp. Đó là tất cả cho top-cache.phptệp.

Bước hai: Tạo tệp Bottom-cache.php

Bây giờ, hãy tạo một tệp PHP mới khác, được đặt tên bottom-cache.phpvà dán đoạn mã bên dưới vào đó.


Nếu $cachefilekhông tìm thấy tệp được lưu trong bộ nhớ cache có tên trên máy chủ của bạn, mã này sẽ được thực thi và sẽ tự tạo tệp bộ nhớ cache.

Do đó, vào lần tiếp theo trang được yêu cầu, $cachefiletệp tĩnh sẽ được cung cấp cho trình duyệt máy khách thay vì thực thi toàn bộ tệp PHP.

Bước ba: Bao gồm các tệp bộ nhớ cache trên trang của bạn

Bây giờ bạn đã tạo hai tệp cần thiết, bạn chỉ cần đưa chúng vào trang PHP mà bạn muốn lưu vào bộ nhớ cache.

Như bạn có thể đoán, top-cache.phptệp phải được bao gồm ở đầu trang PHP của bạn và bottom-cache.phpở cuối, như được hiển thị bên dưới:


Bây giờ nếu bạn kiểm tra bộ nhớ cache trên một trang chậm, bạn sẽ ngạc nhiên bởi tốc độ của trang đó nhanh hơn. Hệ thống bộ nhớ đệm PHP đơn giản này là giải pháp yêu thích của tôi khi làm việc trên các trang web PHP từ đầu.

Các câu hỏi thường gặp

OpCode Cache là gì?

Bộ nhớ cache OpCode là một phần mở rộng nâng cao hiệu suất lưu trữ kết quả của quá trình biên dịch mã PHP thành bytecode. Trong suốt vòng đời của PHP, đã có một số bộ nhớ đệm OpCode có sẵn, chủ yếu phụ thuộc vào phiên bản PHP được sử dụng.

Làm cách nào để kích hoạt OpCode Cache?

Vì bộ nhớ đệm OpCode khả dụng phụ thuộc vào phiên bản PHP được sử dụng trên máy chủ của bạn, vui lòng liên hệ với nhà cung cấp dịch vụ lưu trữ web của bạn để xem cách bật bộ nhớ đệm OpCode trên trang web của bạn.

Phương pháp này có hiệu quả với bạn không? Nhận xét và cho chúng tôi biết!

5 hữu ích 0 bình luận 51k xem chia sẻ