Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wordpress-seo domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vinascript/html/wp-includes/functions.php on line 6114
Cấu hình Redis Caching để tăng tốc site WordPress của bạn - VinaScript

Latest Post

Triển khai dự án PHP, Mysql với Nginx trên Docker Tìm hiểu về HTML – Ưu điểm, nhược điểm và cách hoạt động của HTML

Redis là cái gì?

Tóm gọn lại, Redis là một hệ thống lưu trữ key-value được sử dụng phổ biến với nhiều tính năng và hỗ trợ nhiều cấu trúc dữ liệu cơ bản. Redis không chỉ lưu trữ key-value trên RAM với hiệu suất cao mà còn hỗ trợ lưu trữ trên đĩa cứng (persistent redis) để phục hồi dữ liệu sau sự cố.

Một ứng dụng phổ biến là kết hợp Redis với MySQL, nơi MySQL lưu trữ dữ liệu chính và Redis sử dụng để caching trên RAM. Điều này giúp giảm thiểu truy vấn đến cơ sở dữ liệu và tăng tốc độ truy suất dữ liệu. Trong bài hướng dẫn trên Ubuntu 14.04, tác giả mô tả cách cấu hình cache với Redis để cải thiện hiệu suất và giảm thời gian render cho các trang WordPress.

Default WordPress home page không Redis:

804ms page load time

Default WordPress home page có Redis:

449ms page load time

Redis vs. Memcached

Memcached cũng là 1 lựa chọn cache phổ biến. Nhưng tại thời điểm hiện tại, Redis có thể làm mọi thứ mà Memcached có thể, với nhiều tính cực ngon hơn. Các bạn có thể tham khảo thêm Stack Overflow page để  tổng hợp thông tin về Redis, rồi từ đó rút ra kết luận riêng cho mình.

Caching làm việc như thế nào?

Khi trang WordPress được tải lần đầu, quá trình này bao gồm việc truy vấn trực tiếp vào cơ sở dữ liệu trên máy chủ. Tuy nhiên, sau đó, Redis sẽ lưu trữ lại kết quả của truy vấn này trong bộ nhớ RAM. Khi các người dùng khác tải trang, Redis sẽ cung cấp kết quả mà không cần thực hiện thêm truy vấn vào cơ sở dữ liệu. Việc giảm số lượng truy vấn giúp giảm hoạt động của cơ sở dữ liệu, giảm tải nguồn lực của máy chủ.

Bước 1: Cài Redis

Để sử dụng Redis với WordPress, cần phải cài đặt hai gói: redis-serverphp5-redis. Gói redis-server cung cấp bởi chính Redis, trong khi gói php5-redis là 1 extension dành cho các ứng dụng PHP như WordPress để connect với Redis.

Cài đặt : sudo apt-get cài đặt redis-server php5-redis

Bước 2: Cấu hình cahce Redis

Sửa file /etc/redis/redis.conf và thêm một số hàng ở dưới cùng: sudo nano /etc/redis/redis.conf

Thêm 2 dòng này ở cuối file: maxmemory 256mb maxmemory-policy allkeys-lru

Bước 3: Redis Cache Backend Script

Cái script PHP cho WordPress được code bởi Eric Mann. Nó là Redis object cache backend cho WordPress. Bạn tải về rồi cho nó vào /wp-content.

Bước 4: Bật cache settings trong wp-config.php

Sửa file config nhé: nano /var/www/html/wp-config.php

Thêm dòng này vào cuối dòng * Authentication Unique Keys and Salts. define(‘WP_CACHE_KEY_SALT’, ‘example.com’);

Nhớ enable cache cho WP define(‘WP_CACHE’, true);

Tổng quan là vầy * Authentication Unique Keys and Salts. . . . define(‘NONCE_SALT’, ‘put your unique phrase here’); define(‘WP_CACHE_KEY_SALT’, ‘example.com’); define(‘WP_CACHE’, true);

Bước 5: Restart lại Redis và Apache (hay Nginx…)

Restart Redis: sudo service redis-server restart

Restart Apache: sudo service apache2 restart

Restart php5-fpm nếu bạn có sử dụng nó sudo service php5-fpm restart

Đến đây là xong rồi, lúc này WP của bạn đang dùng Redis để caching.

Monitor Redis với redis-cli

Để monitor Redis thì dùng lệnh này: redis-cli monitor

Lệnh dưới đây sẽ hiển thị trực tiếp trên màn hình các truy vấn đang được Redis lưu trữ theo thời gian thực. Nếu màn hình trở nên trống trơn, vui lòng truy cập lại trang chủ để kích thích truy vấn và sau đó Redis sẽ lưu trữ chúng để bạn có thể theo dõi. Đến đây là hết, cảm ơn bạn đã theo dõi!

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *