Redis là một cơ sở dữ liệu phân tán trong bộ nhớ, được sử dụng như một cơ sở dữ liệu đệm lưu trữ dữ liệu dưới dạng key-value.
Redis lưu trữ dữ liệu trong RAM nên việc truy xuất dữ liệu khá nhanh. Do đó, Redis thường được sử dụng làm bộ nhớ đệm.
Trong bài đăng này, tôi sẽ hướng dẫn bạn cách thiết lập Redis làm bộ nhớ đệm cho trang web WordPress để tăng hiệu suất.
Chuẩn bị
Trước khi bắt đầu, bạn cần có sẵn:
- Máy chủ Ubuntu đã được cài đặt sẵn ngăn xếp LEMP.
- Trang web WordPress được cài đặt trên ngăn xếp LEMP.
Do việc cài đặt và thiết lập Redis được thực hiện trên máy chủ nên bạn vẫn cần sử dụng công cụ Terminal trên Macbook hoặc Bitvise SSH Client trên máy tính hệ điều hành Windows.
Bước 1: Cài đặt Redis
Đầu tiên, bạn gõ câu lệnh sau vào Terminal:
sudo apt update
Sau đó, chạy apt install
để cài đặt Redis và tiện ích mở rộng PHP sẽ cho phép các ứng dụng PHP như WordPress giao tiếp với Redis:
sudo apt install redis-server php-redis
Khi kết quả hiển thị có dòng Do you want to continue? [Y/n]
, bạn gõ Y
và nhấn phím Enter để xác nhận rằng bạn muốn cài đặt Redis.
Khi bạn cài đặt xong, hãy khởi động lại PHP-FPM để bộ xử lý PHP đang chạy có thể tận dụng các tính năng mới được cài đặt:
sudo systemctl restart php8.1-fpm
Bây giờ, bạn có thể chạy lệnh sau để tìm lỗi cú pháp:
sudo nginx -t
Nếu không có lỗi nào được cảnh báo, hãy tải lại Nginx bằng cách chạy lệnh:
sudo systemctl reload nginx
Bước 2: Thiết lập Redis làm bộ nhớ đệm
Để bắt đầu thiết lập, bạn sẽ cần mở tệp redis.conf
bằng cách gõ lệnh:
sudo nano /etc/redis/redis.conf
Tiếp theo, thêm hai cấu hình maxmemory
dưới đây vào sau dòng cuối cùng:
maxmemory 512mb
maxmemory-policy allkeys-lru
Đặt maxmemory
tùy theo dung lượng RAM có sẵn trong máy chủ của bạn.
Khi bạn hoàn tất, bạn có thể lưu và đóng tệp bằng cách gõ tổ hợp phím CTRL+X
, sau đó gõ Y
và nhấn phím ENTER để xác nhận.
Bây giờ, bạn hãy khởi động lại máy chủ Redis:
sudo systemctl restart redis-server
Bước 3: Cấu hình WordPress Cache Salt
Đầu tiên, hãy mở tệp wp-config.php
bằng cách chạy lệnh sau:
sudo nano /var/www/your_domain/wp-config.php
Sau đó, thêm các dòng sau vào cuối phần “Authentication Unique Keys and Salts”:
define('WP_CACHE', true);
define('WP_CACHE_KEY_SALT', 'your_domain');
Bạn có thể đặt giá trị của WP_CACHE_KEY_SALT
bằng bất kỳ chuỗi nào bạn thích nhưng nó phải là duy nhất cho mọi website WordPress trên máy chủ. Cách được khuyến nghị là sử dụng tên miền của bạn.
Bước 4: Cài đặt plugin Redis Object Cache
Trong khu vực quản trị viên WordPress, bạn truy cập trang Plugin > Thêm mới và tìm kiếm plugin Redis Object Cache.
Tiếp theo, nhấp vào “Cài đặt ngay” và sau đó kích hoạt plugin.
Sau khi cài đặt plugin, bạn cũng cần sao chép tệp object-cache.php
từ thư mục plugin wp-content/plugins/redis-cache/includes/object-cache.php
vào thư mục wp-content
bằng cách chạy lệnh sau trên Terminal:
cp /var/www/your_domain/wp-content/plugins/redis-cache/includes/object-cache.php /var/www/your_domain/wp-content/
Bước 5: Sửa điều kiện xóa bộ nhớ đệm
Plugin Redis Object Cache lưu trữ đầu ra của wp_load_alloptions()
. Nó chứa tất cả các tùy chọn trong đó cột tự động tải là mặc định.
Điều này sẽ giúp tăng hiệu suất trang web nhưng bạn có thể gặp phải tình trạng “tranh đua” khi cập nhật các tùy chọn của mình. Do đó, khi bạn cập nhật cài đặt WordPress, nó có thể không được phản ánh ngay lập tức hoặc thậm chí không được lưu.
Giải pháp cho vấn đề này là thêm đoạn script sau vào tệp functions.php
của bạn. Trước tiên, hãy mở tệp
bằng cách chạy lệnh sau trên Terminal:functions.php
sudo nano /var/www/your_domain/wp-content/themes/your_theme/functions.php
Tiếp theo, bạn thêm đoạn mã sau vào:
function redis_maybe_clear_alloptions_cache( $option ) {
if ( ! wp_installing() ) {
$alloptions = wp_load_alloptions();
if ( isset( $alloptions[ $option ] ) ) {
wp_cache_delete( 'alloptions', 'options' );
}
}
}
add_action( 'added_option', 'redis_maybe_clear_alloptions_cache' );
add_action( 'updated_option', 'redis_maybe_clear_alloptions_cache' );
add_action( 'deleted_option', 'redis_maybe_clear_alloptions_cache' );
Đoạn mã này sẽ giúp xóa bộ nhớ đệm phân bổ bất cứ khi nào bạn thêm, cập nhật hoặc xóa một tùy chọn.
Khi bạn hoàn tất, bạn có thể lưu và đóng tệp bằng cách gõ tổ hợp phím CTRL+X
, sau đó gõ Y
và nhấn phím ENTER để xác nhận.
Bước 6: Kiểm tra cấu hình của bạn
Chạy lệnh này trên Terminal để kiểm tra:
redis-cli monitor
Sau đó, trong khu vực quản trị WordPress của bạn phần Cài đặt > Redis sẽ hiển thị như sau:
Điều đó có nghĩa là trang web của bạn đã được kết nối thành công với Redis và nó sẽ được tăng hiệu suất từ việc sử dụng Redis làm bộ nhớ đệm.