Nội dung
Khi nói đến bộ nhớ đệm, có rất nhiều loại khác nhau. Có bộ nhớ đệm trình duyệt và bộ nhớ đệm trang, chưa kể bộ nhớ đệm di động và người dùng. Nếu bạn đang sử dụng WP Rocket, chắc chắn bạn đã được hưởng lợi từ các loại bộ đệm này. Nhưng một thứ khác bạn sẽ muốn thêm vào hỗn hợp là Object Cache.
Object Cache liên quan đến việc lưu trữ các truy vấn cơ sở dữ liệu và khi được bật trên trang web WordPress của bạn, nó có thể giúp tăng tốc thời gian thực hiện PHP, giảm tải cho cơ sở dữ liệu của bạn và cung cấp nội dung cho khách truy cập nhanh hơn.
Trong bài đăng này, chúng tôi sẽ đề cập đến Object Cache là gì và cách thức hoạt động với WordPress (bao gồm cả Object Cache tích hợp mà WordPress cung cấp). Chúng tôi cũng sẽ xem xét một số cách khác nhau để bạn có thể triển khai loại bộ đệm này trên trang web của mình để cải thiện hiệu suất của nó.
Bộ nhớ đệm là gì?
Nhưng trước tiên, chúng ta hãy xem bộ nhớ đệm nói chung là gì để đặt Object Caching vào ngữ cảnh.
Bộ nhớ đệm là quá trình lưu trữ dữ liệu thường xuyên truy cập tạm thời trong bộ đệm để bạn có thể sử dụng lại cho các yêu cầu tiếp theo.
Khi ai đó truy cập vào trang web của bạn và bạn không bật bộ đệm, trình duyệt của họ sẽ gửi yêu cầu cho trang đến máy chủ của bạn. Sau đó, máy chủ của bạn sẽ xử lý yêu cầu, biên dịch trang và sau đó gửi lại cho trình duyệt.
Nếu bạn có một trang web có lưu lượng truy cập thấp, máy chủ của bạn có thể ngồi lại và thư giãn, có thể nói, vì nó chỉ phải xử lý và biên dịch các trang mỗi lần một lần nữa. Nhưng các máy chủ lưu trữ các trang web lớn đã cắt giảm công việc cho họ, họ phải làm việc chăm chỉ hơn nhiều để xử lý và biên dịch nhiều trang mỗi giây khi có yêu cầu.
Đây là nơi bộ nhớ đệm có thể giúp giảm tải trên máy chủ của bạn. Nó lưu một bản sao của mỗi yêu cầu và sau đó vào lần yêu cầu tương tự, nó sẽ kiểm tra bộ đệm và phục vụ nó từ đó. Nếu không có bản sao, yêu cầu được gửi đến máy chủ sẽ được xử lý và biên dịch, và trên đường quay lại trình duyệt, một bản sao được lưu trong bộ đệm.
Cái hay của bộ nhớ đệm là nó giúp máy chủ của bạn không phải làm nhiều việc hơn nó, cho phép nó xử lý nhiều lưu lượng hơn so với những thứ khác. Nó cũng có thêm lợi ích là cung cấp nội dung của bạn nhanh hơn cho người dùng.
Nếu bạn quan tâm để tìm hiểu thêm về cách hoạt động của bộ nhớ đệm, hãy xem Tại sao Trình cắm bộ đệm lại quan trọng đối với Trang web WordPress của bạn .
Các loại bộ nhớ đệm khác nhau
Có hai loại bộ đệm chính: bộ đệm ẩn phía máy khách và bộ đệm ẩn phía máy chủ .
Có nhiều loại bộ nhớ đệm phía máy khách, nhưng loại có lẽ bạn quen thuộc nhất là bộ nhớ đệm trình duyệt . Đây là nơi trình duyệt lưu trữ nội dung trang web tĩnh để lần sau khi ai đó truy cập trang web của bạn, trang sẽ được kéo từ bộ đệm trên máy tính của họ thay vì được tải xuống lại.
Object Caching là một loại bộ nhớ đệm phía máy chủ. Có rất nhiều loại bộ nhớ đệm phía máy chủ, nhưng những loại quan trọng cần biết bao gồm:
1. Object Caching. Chúng ta sẽ đi sâu vào chi tiết bên dưới, nhưng Object Caching liên quan đến việc lưu trữ các truy vấn cơ sở dữ liệu để lần sau cần một phần dữ liệu, nó sẽ được gửi từ bộ đệm mà không phải truy vấn cơ sở dữ liệu.
2. Bộ nhớ đệm trang. Bộ nhớ đệm trang liên quan đến việc lưu trữ toàn bộ HTML của một trang để trong các lần xem tiếp theo, nội dung, bao gồm các tệp và truy vấn cơ sở dữ liệu có thể được tạo và hiển thị mà không cần WordPress phải thực hiện mỗi lần.
3. Bộ nhớ đệm Opcode. Bộ nhớ đệm Opcode liên quan đến việc biên dịch mã PHP giữa mỗi yêu cầu. Để mã PHP thực thi, trình biên dịch PHP phải biên dịch mã trước rồi tạo mã thực thi để máy chủ thực thi. Opcode lưu trữ mã đã được biên dịch.
4. Bộ nhớ đệm CDN. Mạng phân phối nội dung (CDN) sử dụng các máy chủ biên trên toàn thế giới để lưu trữ các tệp trang web tĩnh (ví dụ: tệp CSS, JavaScript và phương tiện) để phân phối nhanh hơn tới người dùng ở xa về mặt địa lý từ máy chủ.
Vậy Object Caching là gì?
Object Caching liên quan đến việc lưu trữ kết quả truy vấn cơ sở dữ liệu để lần sau cần kết quả, nó có thể được phục vụ từ bộ đệm mà không phải truy vấn cơ sở dữ liệu nhiều lần.
Là một hệ thống quản lý nội dung, WordPress tự nhiên là rất nhiều và phụ thuộc rất nhiều vào cơ sở dữ liệu. Như vậy, hiệu quả cơ sở dữ liệu là rất quan trọng để nhân rộng WordPress.
Nếu bạn chạy một trang web có lưu lượng truy cập cao và yêu cầu đến các trang của bạn tạo ra một số lượng lớn các truy vấn cơ sở dữ liệu, máy chủ của bạn có thể nhanh chóng bị quá tải, từ đó ảnh hưởng tiêu cực đến hiệu suất trang web của bạn.
Vì vậy, khi Object Caching được bật trên trang web của bạn, nó có thể giúp giảm tải cho cơ sở dữ liệu và máy chủ của bạn và cung cấp các truy vấn nhanh hơn.
WP_Object_Cache là gì?
WordPress có bộ đệm đối tượng tích hợp có tên là WP_Object_Cache. Được giới thiệu vào năm 2005, nó cung cấp cách tự động lưu trữ bất kỳ dữ liệu nào từ cơ sở dữ liệu trong bộ nhớ PHP để ngăn chặn các truy vấn lặp lại.
Tuy nhiên, bộ đệm đối tượng này chỉ lưu trữ các đối tượng cho một trang tải đơn. Nó loại bỏ các đối tượng trong bộ đệm ở cuối yêu cầu, do đó chúng phải được xây dựng lại từ đầu vào lần tiếp theo khi trang được yêu cầu.
Mặc dù đây là một tính năng hữu ích của WordPress, nhưng đảm bảo cơ sở dữ liệu không được truy vấn nhiều lần trong một lần tải trang cho các yêu cầu truy vấn tương tự, nhưng nó không thực sự hiệu quả.
Đây là nơi các giải pháp bộ nhớ đệm liên tục có thể giúp đỡ. Object Caching mạnh hơn khi nó có thể được sử dụng để lưu trữ các đối tượng giữa các lần tải trang.
Các giải pháp bộ đệm đối tượng liên tục bên ngoài như Redis và Memcached cho phép duy trì bộ đệm đối tượng giữa các yêu cầu. Điều này giúp tăng tốc độ phân phối các truy vấn cơ sở dữ liệu đồng thời giảm bớt khối lượng công việc của máy chủ của bạn.
Redis và Memcached là gì?
Object Caching liên tục là điều bắt buộc nếu bạn đang tìm cách chia tỷ lệ. Không có nó, hiệu suất trang web của bạn sẽ chậm lại khi độ phức tạp và lưu lượng truy cập tăng lên. Điều tương tự cũng xảy ra với người dùng đã đăng nhập và trang động Object Caching có thể giúp mang lại trải nghiệm người dùng tốt hơn và nhanh hơn.
Có hai công cụ lưu trữ đối tượng liên tục phổ biến đáng để kiểm tra: Redis và Memcached.
Cả hai công cụ này đều là kho lưu trữ dữ liệu trong bộ nhớ nhanh và mạnh, có thể giảm tải cho cơ sở dữ liệu MySQL của trang web của bạn, đồng thời giảm thời gian phản hồi của trang web và tăng khả năng mở rộng và xử lý lưu lượng truy cập của trang web của bạn.
Memcached từ lâu đã là một lựa chọn bộ nhớ cache phổ biến, nhưng Redis có thể làm mọi thứ mà Memcached có thể, và với bộ tính năng lớn hơn nhiều. Thêm vào đó, nó phổ biến hơn và được hỗ trợ tốt hơn.
Để có cái nhìn sâu hơn về các tính năng, ưu và nhược điểm của Redis và Memcached, luồng Stack Overflow này có một số thông tin chung tuyệt vời về cả hai công cụ.
Cách sử dụng bộ đệm đối tượng với WordPress
Theo mặc định, Object Caching được tích hợp sẵn trên WordPress đã hoạt động trên trang web của bạn, vì vậy bạn không cần phải làm gì để kích hoạt nó.
Nhưng nếu bạn muốn đưa Object Caching của mình lên cấp độ tiếp theo để các truy vấn cơ sở dữ liệu của bạn được lưu trữ liên tục giữa các lần tải trang, có một vài tùy chọn có sẵn để thực hiện.
1. Sử dụng Redis
Đối với Object Caching được hỗ trợ bởi Redis, bạn không thể đi qua các plugin miễn phí có sẵn tại WordPress.org.
Với hơn 30.000 lượt cài đặt hoạt động, tùy chọn phổ biến nhất là Redis Object Cache. Nó hỗ trợ Predis, PhpRedis (PECL), HHVM, sao chép, phân cụm và WP-CLI.
Trước khi sử dụng plugin này, bạn sẽ cần kiểm tra xem trang web của bạn có đang sử dụng môi trường PHP với tiện ích mở rộng PHP Redis cần thiết và máy chủ Redis đang hoạt động không.
Nếu bạn ổn, plugin này cực kỳ đơn giản để cài đặt, chỉ cần kích hoạt plugin, truy cập Cài đặt>Redis và nhấp vào Kích hoạt tính năng Object Cache.
Nếu bạn gặp phải bất kỳ vấn đề nào, một lần nữa, bạn sẽ cần kiểm tra với máy chủ web của mình xem máy chủ mà trang web của bạn được lưu trữ có được thiết lập cho Redis hay không. Vì Cloudways lưu trữ trang web thử nghiệm của tôi, tôi đã phải đăng nhập vào bảng điều khiển cho trang web của mình và bật Redis dưới dạng gói trước khi cho phép đối tượng sử dụng trong plugin Redis Object Cache.
Ngoài ra, một tùy chọn khác mà bạn có thể muốn thử là WP Redis, có liên quan nhiều hơn để thiết lập. Được cung cấp cho bạn bởi những người ở máy chủ web Pantheon, plugin này yêu cầu bạn tạo một tệp có tên object-cache.php và thêm nó vào thư mục wp-content của bạn, đồng thời chỉnh sửa thư mục wp-config.php của bạn (nhưng chỉ khi bạn không phải là người dùng Pantheon).
Nếu WP-CLI là một phần quan trọng trong quy trình phát triển của bạn, bạn có thể thấy sử dụng WP Redis thuận tiện hơn vì nó đi kèm với một loạt các lệnh.
2. Hỏi chủ nhà của bạn
Nếu bạn đang lưu trữ WordPress được quản lý, máy chủ của bạn có thể cung cấp Object Caching thông qua Redis. Vì vậy, hãy kiểm tra tài liệu của máy chủ lưu trữ của bạn để biết thông tin về cách bật bộ đệm ẩn đối tượng hoặc liên lạc để kiểm tra xem nó có sẵn không.
Nhiều máy chủ cung cấp Redis như một tính năng hoặc tiện ích bổ sung, có tên là Pant Panton, Kinsta và Cloudways.
Nếu bạn đang sử dụng dịch vụ lưu trữ được chia sẻ, ít có khả năng nó sẽ được cung cấp miễn phí. Trong trường hợp này, nếu Object Caching không có sẵn cho bạn, bạn có thể muốn xem xét nâng cấp gói lưu trữ hoặc chuyển đổi máy chủ.
Kết luận
Object Caching cung cấp một giải pháp tương đối đơn giản để cải thiện hiệu suất của cơ sở dữ liệu của bạn, đặc biệt là thực tế là hiệu suất của WordPress phụ thuộc rất nhiều vào tốc độ của cơ sở dữ liệu của bạn.
Với các giải pháp như Redis, bạn có thể nhanh chóng kích hoạt bộ đệm ẩn đối tượng liên tục trên trang web của mình, cho dù đó là thông qua plugin hoặc chỉ cần yêu cầu máy chủ của bạn kích hoạt nó.
Bạn có sử dụng Object Caching trên trang web của bạn? Nếu bạn có bất kỳ câu hỏi nào về cách sử dụng Object Caching, hãy để lại nhận xét bên dưới!
Cảm ơn bạn
ok