Mỗi lần WordPress dựng một trang, nó hỏi MySQL hàng chục đến hàng trăm câu truy vấn (query): lấy bài viết, đọc cấu hình plugin, kiểm tra quyền người dùng, tải menu… Rất nhiều câu trong số đó lặp lại y hệt ở lần tải sau. Object cache (bộ nhớ đệm đối tượng) sinh ra để chặn sự lãng phí đó: kết quả truy vấn được giữ trong bộ nhớ, lần sau dùng lại ngay.
Mặc định WordPress chỉ có object cache không bền (non-persistent) — sống trong đúng một lần tải trang rồi biến mất. Redis biến nó thành bộ nhớ đệm bền (persistent), dùng chung giữa mọi lần tải và mọi người truy cập. Đây là nơi Redis cache WordPress phát huy giá trị.
Object cache khác page cache ở chỗ nào
Hai loại cache này dễ bị nhầm nhưng giải quyết hai bài toán khác nhau. Nếu bạn cần ôn lại bức tranh tổng quát các loại bộ nhớ đệm, xem bài server cache là gì và các loại cache phổ biến trước.
| Tiêu chí | Page cache (cache trang) | Object cache (Redis) |
|---|---|---|
| Lưu cái gì | Cả trang HTML đã dựng xong | Kết quả từng truy vấn / đối tượng PHP |
| Phục vụ tốt cho | Trang TĨNH, khách vãng lai | Trang ĐỘNG: admin, giỏ hàng, trang cá nhân |
| Có chạy PHP/MySQL không | Không — trả thẳng HTML | Có — nhưng bớt hỏi MySQL |
| Ai bỏ qua được nó | User đăng nhập, trang giỏ hàng | Không ai — nó nằm dưới mọi request |
Điểm mấu chốt: page cache phục vụ rất tốt khách lạ xem bài tĩnh, nhưng người đăng nhập và trang giỏ hàng/thanh toán thường bị loại khỏi page cache (vì mỗi người thấy nội dung khác nhau). Đúng những trang đó lại phải chạy PHP + query đầy đủ — và đó chính là nơi Redis object cache vào cuộc.

Redis tăng tốc cái gì cụ thể
Vì object cache nằm bên dưới page cache, nó chỉ giúp những request thực sự chạy PHP. Cụ thể:
- Trang quản trị (wp-admin) nhẹ hẳn — admin gần như không bao giờ được page cache, nên mỗi lần tải đều phải query thật. Theo tài liệu nhà cung cấp và các bài đo thực tế, admin thường nhanh lên rõ rệt sau khi bật Redis.
- WooCommerce: trang giỏ hàng, thanh toán, tài khoản — luôn động, luôn bỏ qua page cache.
- Site nhiều plugin/nhiều truy vấn: mỗi query lặp được cắt bớt là bớt một nhịp chờ MySQL.
Hệ quả về tốc độ: Redis giảm thời gian máy chủ dựng trang, tức kéo TTFB (Time To First Byte — thời gian đến byte đầu tiên) xuống cho các request động. Muốn đào sâu cách hạ TTFB tổng thể, đọc kỹ thuật giảm TTFB chuyên sâu. Lưu ý quan trọng: TTFB tốt hơn góp phần cải thiện LCP (Largest Contentful Paint — thời điểm phần tử lớn nhất hiện ra), nhưng Redis không trực tiếp sửa các chỉ số phía trình duyệt như CLS hay INP.
Khi nào bạn THỰC SỰ cần Redis
Đây là phần hay bị bỏ qua, dẫn tới thất vọng “bật Redis mà chẳng nhanh hơn”. Lý do số một khiến Redis vô tác dụng là site không có gì để object cache giúp: nếu toàn bộ lưu lượng là khách lạ xem bài tĩnh và đã được page cache phủ kín, thì PHP gần như không chạy — Redis chẳng có việc gì làm.
NÊN cân nhắc Redis khi:
- Site có nhiều người đăng nhập (forum, thành viên, nhiều biên tập viên cùng vào admin).
- Chạy WooCommerce traffic cao — giỏ hàng và thanh toán động liên tục.
- Catalog/blog rất lớn, truy vấn phức tạp, nhiều plugin nặng query.
CHƯA cần vội nếu site nhỏ, chủ yếu blog tĩnh, traffic vừa phải — lúc đó page cache và tối ưu máy chủ cho hiệu quả/đồng cao hơn nhiều.
Cách cài Redis object cache cho WordPress
Có hai phần tách biệt, và đây là chỗ hay vướng: plugin không tự tạo ra Redis. Plugin chỉ là cầu nối — máy chủ Redis phải được cài sẵn.
Bước 1 — Có một máy chủ Redis
Trên host được quản lý (managed hosting), thường bạn chỉ cần bật Redis trong bảng điều khiển. Trên VPS tự quản, cài gói máy chủ:
sudo apt install redis-server
sudo systemctl enable --now redis-serverBạn cũng cần PHP nói chuyện được với Redis. Khuyến nghị dùng extension gốc PhpRedis (PECL) cho hiệu năng tốt; plugin có kèm sẵn thư viện Predis (thuần PHP) làm phương án dự phòng nếu chưa có extension.
Bước 2 — Cài plugin và khai báo kết nối
Cài plugin Redis Object Cache (tác giả Till Krüss). Khai báo thông số kết nối trong wp-config.php trước khi bật:
define( 'WP_REDIS_HOST', '127.0.0.1' );
define( 'WP_REDIS_PORT', 6379 );
define( 'WP_REDIS_PASSWORD', 'mat-khau-redis-neu-co' );
// Tách key giữa các site dùng chung 1 Redis — tránh đụng nhau
define( 'WP_REDIS_PREFIX', 'web22_' );Hằng WP_REDIS_PREFIX (tên cũ là WP_CACHE_KEY_SALT) rất quan trọng khi nhiều site dùng chung một máy chủ Redis: nó gắn tiền tố cho mọi key để các site không xoá nhầm cache của nhau.
Bước 3 — Bật drop-in
Vào Settings → Redis, bấm Enable Object Cache. Plugin sẽ đặt file object-cache.php vào thư mục wp-content/. File “drop-in” này chặn mọi lệnh wp_cache_get() / wp_cache_set() của WordPress và định tuyến sang Redis thay vì bộ nhớ đệm mặc định.

Đo xem Redis có thật sự chạy không
Đừng tin cảm giác — hãy nhìn số. Plugin hiển thị cache hit ratio (tỉ lệ trúng đệm) ngay trên dashboard. Quy tắc thực dụng: sau khi site chạy ấm (warmup) một lúc, hit ratio nên vượt 80%. Con số đó nghĩa là phần lớn yêu cầu lấy dữ liệu được Redis trả lại, không phải hỏi MySQL.
Kiểm tra nhanh ngoài plugin:
# Plugin đang dùng có ghi gì vào Redis không?
redis-cli INFO keyspace
redis-cli MONITOR # xem lệnh chạy thực tế (Ctrl+C để thoát)Nếu hit ratio thấp lè tè hoặc Redis trống trơn dù traffic cao, hãy kiểm tra lại: drop-in đã bật chưa, kết nối có lỗi xác thực không, và quan trọng nhất — site của bạn có loại request động nào để cache hay không.
Góc thực chiến từ web22.dev
Web22 vận hành web22.dev trên nền LiteSpeed + LiteSpeed Cache + Cloudflare. Với một blog/dịch vụ phần lớn là khách lạ xem trang tĩnh, page cache đã gánh gần hết — nên với hồ sơ traffic như vậy, đòn bẩy đáng làm trước là cache trang, font và ảnh, còn Redis chỉ thực sự “đáng tiền” khi tỉ trọng trang động (đăng nhập, giỏ hàng) tăng lên. Nguyên tắc: chọn đòn bẩy theo đúng hình dạng traffic của site, đừng bật mọi thứ chỉ vì nghe tên.
Câu hỏi thường gặp
Redis có thay thế plugin cache trang không?
Không. Hai loại làm hai việc khác nhau — object cache giảm tải database, page cache trả HTML tĩnh. Site nên dùng cả hai khi phù hợp.
Bật Redis xong mà không nhanh hơn, tại sao?
Thường vì site không có nhiều request động để cache (toàn trang tĩnh đã được page cache phủ), hoặc drop-in chưa kích hoạt đúng. Kiểm tra cache hit ratio để biết chắc.
Redis có cải thiện điểm Core Web Vitals không?
Gián tiếp. Nó hạ thời gian máy chủ (TTFB), giúp LCP tốt hơn cho trang động. Nó không sửa CLS hay INP — đó là việc của tối ưu phía trình duyệt.
Cần rà soát xem object cache, page cache và cấu hình máy chủ của site đã ăn khớp chưa, bạn có thể tham khảo dịch vụ tối ưu hiệu năng web của Web22.
