Cấu hình Redis Caching để tăng tốc site WordPress của bạn
Redis là cái gì?
Hỏi hơi dư thừa vì có đầy trên mạng, nhưng tóm gọn lại cho bạn khỏi phải đi đâu lòng vòng nhé. Redis là hệ thống lưu trữ key-value với rất nhiều tính năng và được sử dụng rộng rãi. Redis nổi bật bởi việc hỗ trợ nhiều cấu trúc dữ liệu cơ bản (hash, list, set, sorted set, string. Bên cạnh lưu trữ key-value trên RAM với hiệu năng cao, redis còn hỗ trợ lưu trữ dữ liệu trên đĩa cứng (persistent redis) cho phép phục hồi dữ liệu khi gặp sự cố.
Túm tụm lại là mình có thể lưu trữ dữ liệu với Mysql và dùng Redis để caching trên Ram nên nó sẽ ít truy vấn đến DB, chạy trên ram nữa nên truy suất dữ liệu cũng nhanh hơn bình thường.
Trong tuts này mình sẽ hướng dẫn cấu hình cache với Redis để giảm các truy vấn dư thừa và tốn thời gian để render 1 page của WordPress. Hướng dẫn này cấu hình trên Ubuntu 14.04. Mình có thử benchmark trên site WP mặc định khi không có Redis và sau khi cấu hình Redis:
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 WP page load lần đầu, nó sẽ truy vấn trực tiếp Database trên server, sau đó ông Redis sẽ cache lại cái truy vấn này trên Ram. Về sau khi những user khác load trang thì kết quả sẽ được trả bởi anh Redis chứ không truy vấn anh DB nữa. Việc hạn chế truy vấn sẽ giúp cho DB ít hoạt động hơn, đỡ ngốn resource của server hơn.
Bước 1: Cài Redis
Để sử dụng Redis với WordPress, cần phải cài đặt hai gói: redis-server
và php5-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 này sẽ xuất ra màn hình các truy vấn được Redis caching realtime. Nếu màn hình trắng trơn thì vào lại trang chủ để nó query rồi nó cache cho xem nghen. Hết rồi, cám ơn đã đọc!
Tham khảo thêm tuyển dụng lập trình WordPress lương cao tại Topdev
- G Giải Quyết Bài Toán Kinh Doanh Bằng Big Data và AI
- B BenQ RD Series – Dòng Màn Hình Lập Trình 4k+ Đầu Tiên Trên Thế Giới
- F Framework nào tốt nhất cho dự án của bạn? – Checklist chi tiết
- K Kinh nghiệm xử lý responsive table hiệu quả
- S Stackoverflow là gì? Bí kíp tận dụng Stack Overflow hiệu quả
- 7 7 kinh nghiệm hữu ích khi làm việc với GIT trong dự án
- B Bài tập Python từ cơ bản đến nâng cao (có lời giải)
- B Bảo mật API là gì? Một số nguyên tắc và kỹ thuật cần biết
- H Hướng dẫn cài đặt và tự học lập trình Python cơ bản từ A-Z
- C Chinh Phục Phân Tích Dữ Liệu Với Pandas Trong Python: Hướng Dẫn Từng Bước