WordPress Caching: Hiểu toàn tập và ứng dụng vào website của bạn

Chào mừng bạn đến với một chương mới trong loạt Bộ nhớ đệm WordPress của Tài, nơi Tài sẽ tìm hiểu cách hoạt động của bộ nhớ đệm WordPress. Trước khi Tài đi đến phần cuối của chủ đề này, vui lòng đảm bảo rằng bạn đã theo dõi từng chủ đề trước đó (từ loạt bài này) một cách cẩn thận, vì chương này sử dụng kiến ​​thức từ chúng.

Để bắt đầu, chúng ta hãy nói về hai loại giao thức bộ đệm chính có sẵn, dựa trên mô hình  client-server

  • Client-Side caching and
  • Server-Side caching

Tại sao bộ nhớ đệm lại quan trọng?

Trước khi Tài đi sâu vào các cơ chế lưu trữ khác nhau, điều cần thiết là phải hiểu các lợi ích của việc lưu trữ. Bộ nhớ đệm đóng hai vai trò chính:

  • Nó cải thiện hiệu suất ứng dụng. Đối với các trang web WordPress, điều này có nghĩa là trang web của bạn tải nhanh hơn.
  • Nó làm tăng thông lượng ứng dụng. Có nghĩa là, trang web của bạn có thể xử lý lưu lượng truy cập nhiều hơn.

Hơn nữa, bộ nhớ đệm có thể tăng cả hiệu suất và thông lượng ứng dụng mà không làm tăng chi phí lưu trữ. Điều này là do bạn cần ít tài nguyên hệ thống (CPU & bộ nhớ) để lưu trữ một trang web đã được lưu trữ chính xác. Nó thực sự là một chiến lược cùng có lợi (khi được thực hiện chính xác).

Bài đọc nhiều:

Các trang được lưu trong bộ nhớ cache được phục vụ như thế nào

Tài nghĩ rằng dễ nhất để hiểu quá trình lưu trữ bằng cách xem cách một trang được phục vụ.

Giả sử bạn sở hữu một blog với bộ nhớ đệm được kích hoạt. Lần đầu tiên ai đó truy cập trang chủ của bạn, họ nhận được trang theo cách thông thường: Yêu cầu được nhận, được xử lý trên máy chủ và trang web kết quả được hiển thị được chuyển thành tệp HTML và được gửi đến trình duyệt web của khách truy cập.

Vì bộ nhớ đệm được bật, máy chủ lưu trữ tệp HTML này – thường trong ‘bộ nhớ truy cập ngẫu nhiên’ (hoặc RAM), cực kỳ nhanh. Lần tới khi bạn hoặc bất kỳ ai khác xem trang chủ, máy chủ không cần thực hiện xử lý và chuyển đổi sang HTML. Thay vào đó, nó chỉ đơn giản là gửi tệp HTML đã được chuẩn bị tới trình duyệt.

Cũng cần lưu ý rằng, bằng cách triển khai bộ nhớ đệm, bạn không chỉ làm cho trang web của mình nhanh hơn, bạn cũng làm cho nó hoạt động tốt hơn – và trang bị nó để chịu gánh nặng của bất kỳ lưu lượng truy cập đột ngột nào hiệu quả hơn.

Các loại bộ đệm

Nói rộng ra, có hai loại cache – máy chủtrình duyệt. Bộ nhớ đệm trình duyệt được thực hiện ở phía máy khách (người dùng), trong khi bộ đệm của máy chủ được thực hiện (không có gì đáng ngạc nhiên) trên máy chủ. Chúng ta hãy nhìn vào sự khác biệt giữa hai.

Bộ nhớ đệm trong WordPress

Caching Layer

WordPress là một CMS dựa trên cơ sở dữ liệu, có nghĩa là có nhiều phần chuyển động khi xử lý một yêu cầu đến. WordPress ngoài luồng phải truy vấn cơ sở dữ liệu và hiển thị trang trước khi có thể gửi cho người dùng. Điều này xảy ra trên mỗi yêu cầu đến duy nhất, rất kém hiệu quả nếu nội dung trang không thay đổi. Một yêu cầu điển hình sẽ trông giống như thế này:

Request gửi đến server

Theo nguyên tắc chung, các bộ phận chuyển động liên quan đến việc xử lý yêu cầu càng nhiều, người dùng càng phải chờ phản hồi và tài nguyên hệ thống được sử dụng càng nhiều. Để chống lại điều này, bộ nhớ đệm thường được thực hiện theo lớp, với mỗi lớp ngồi trước một bộ phận chuyển động. Ba lớp nổi bật trong WordPress thường được chia thành:

  1. Browser Caching
  2. Page Caching
  3. Object Caching
  4. Opcode Caching
các loại caching trong wordpress
các loại caching trong wordpress

Đi sâu vào từng lớp như trên

#1. Bộ nhớ đệm trình duyệt

Mặc dù bộ nhớ đệm của trình duyệt không nhất thiết phải hỗ trợ thời gian phản hồi hoặc thông lượng của ứng dụng (ít nhất là trong các lĩnh vực của WordPress), nhưng đây là lớp quan trọng nhất khi nói đến việc giảm lượng dữ liệu phải được gửi từ máy chủ đến trình duyệt.

Điều này có thể làm cho trang web của bạn cảm thấy phản ứng nhanh hơn nhiều vì các tài sản tĩnh như CSS, JS và hình ảnh xuất hiện nhanh hơn nhiều nếu chúng được trình duyệt lưu vào bộ nhớ cache.

Khi hiểu về bộ đệm của trình duyệt, tab mạng trong trình duyệt của bạn, công cụ dành cho nhà phát triển là bạn của bạn.

Chúng ta hãy xem xét bộ đệm của trình duyệt trong thực tế, bằng cách tải trang CompaMarketing làm ví dụ.

  1. Tài sản được lưu trong bộ nhớ cache của trình duyệt .
  2. Các tài sản như HTML, CSS và JS phải được nén bởi máy chủ trước khi được chuyển sang trình duyệt. Sau đó, họ đã giải nén trình duyệt trước khi hiển thị cho người dùng.

Do đó, nếu bộ nhớ đệm trình duyệt được cấu hình chính xác, các lần tải trang tiếp theo sẽ truyền ít dữ liệu hơn. Bạn có thể thấy điều này cho chính mình khi Tài tải lại trang.

#2. Page Caching

Bộ nhớ đệm trang sẽ mang lại cho bạn nhiều lợi ích nhất khi cải thiện cả thời gian phản hồi và thông lượng của ứng dụng trong WordPress.

Bộ đệm trang về cơ bản biến WordPress (CMS dựa trên cơ sở dữ liệu) thành một trang HTML tĩnh bằng cách đưa cả PHP và MySQL ra khỏi phương trình khi xử lý một yêu cầu.

#3. Opject Cache

Như đã đề cập trước đây, không phải tất cả các trang đều có thể được lưu vào bộ nhớ cache. Điều này đặc biệt đúng với các trang web thương mại điện tử và thành viên, thường hiển thị nội dung được cá nhân hóa.

Nó cũng đúng với khu vực quản trị WordPress. Nếu các trang động như vậy được lưu trong bộ nhớ cache, người dùng sẽ thấy nội dung được cá nhân hóa không liên quan đến chúng.

WordPress có bộ nhớ đệm đối tượng tích hợp, cho phép dữ liệu như các truy vấn cơ sở dữ liệu được lưu trữ trong bộ nhớ. Đây là cách nhiều lệnh gọi đến các hàm như get_posts chỉ dẫn đến một truy vấn cơ sở dữ liệu.

Tuy nhiên, bộ đệm của đối tượng không tồn tại theo mặc định (có nghĩa là nó không sống ngoài yêu cầu).

May mắn thay, WordPress có thể được tích hợp với một kho lưu trữ dữ liệu liên tục như Redis, rất quan trọng để nhân rộng các trang động. Bộ đệm đối tượng nằm giữa PHP và cơ sở dữ liệu giúp tăng tốc thời gian thực hiện PHP và giảm tải cho cơ sở dữ liệu bằng cách lưu các truy vấn trong bộ nhớ.

Bạn có thể thấy tác động của bộ đệm đối tượng bằng cách cài đặt plugin Trình theo dõi truy vấn. Tải trang giỏ hàng WooCommerce mà không kích hoạt bộ đệm ẩn đối tượng trong 32 truy vấn cơ sở dữ liệu:

#4. Bộ nhớ đệm Opcode

Giống như bộ nhớ đệm cơ sở dữ liệu trong đó ý tưởng là để giảm số lượng truy vấn cơ sở dữ liệu, bộ đệm ẩn opcode đề cập đến việc lưu mã PHP được biên dịch giữa mỗi yêu cầu.

Nếu bạn xem bất kỳ tệp PHP nào, bạn sẽ thấy rằng mã thực sự là một danh sách các hướng dẫn để trình biên dịch sử dụng. PHP là một ngôn ngữ lập trình hướng đối tượng và có đặc quyền từ nguồn gốc của nó! Để mã PHP được thực thi, trình biên dịch PHP phải biên dịch mã trước và tạo mã thực thi để máy chủ web thực thi.

Bộ nhớ đệm đầu ra của trình biên dịch PHP cho nhiều lần thực thi, đó là tất cả những gì về bộ nhớ đệm opcode. Một lần nữa, đây là nội dung – những điều bạn không nên lo lắng nhiều!

Phần kết luận

Bây giờ bạn đã hiểu rõ về các giao thức bộ nhớ đệm WordPress khác nhau, hãy cùng Tài đến trung tâm của loạt bài đăng của Tài – Cách triển khai bộ đệm ẩn WordPress.

Nếu bạn có bất kỳ câu hỏi hoặc đề nghị nào để cải thiện chương này, xin vui lòng hỏi hoặc chia sẻ chúng – Tài rất muốn nghe suy nghĩ của bạn!

Nguồn tham khảo thêm về WordPress Caching

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.