1. Tổng quan.
Caching WordPress giúp tăng tốc độ tải trang, giảm tải cho server và tối ưu tài nguyên mà không cần dùng plugin. Các phương pháp bao gồm caching database bằng Redis hoặc Memcached, caching object, sử dụng Ramdisk để lưu trữ dữ liệu tĩnh và cấu hình Nginx FastCGI Cache để giảm tải PHP.

2. Cache Database bằng Redis hoặc Memcached
Redis Cache cho MySQL/MariaDB
Redis có thể cache các truy vấn SQL để giảm tải cho MySQL/MariaDB:
Cài đặt Redis và module Redis cho MySQL.
apt install redis-server php-redis
Cấu hình Redis trong wp-config.php
define('WP_CACHE', true);
define('WP_REDIS_HOST', '127.0.0.1');
define('WP_REDIS_PORT', 6379);
Bật query cache cho MySQL/MariaDB.
SET GLOBAL query_cache_type = ON;
SET GLOBAL query_cache_size = 64M;
Memcached Cache cho MySQL/MariaDB
Tương tự Redis, Memcached cũng có thể giảm tải truy vấn database:
Cài đặt Memcached và module PHP.
apt install memcached php-memcached
Cấu hình Memcached trong wp-config.php
define('WP_CACHE', true);
define('WP_MEMCACHED_SERVERS', array('127.0.0.1:11211'));
3. Cache Object bằng Redis
WordPress có thể sử dụng Redis để cache object giúp giảm truy vấn database:
Cài đặt Redis và module Redis Object Cache:
apt install redis-server php-redis
Tạo file object-cache.php
trong wp-content/
.
wget https://raw.githubusercontent.com/ericmann/Redis-Object-Cache/master/object-cache.php -O wp-content/object-cache.php
Cấu hình trong wp-config.php
.
define('WP_REDIS_HOST', '127.0.0.1');
define('WP_REDIS_PORT', 6379);
define('WP_REDIS_DATABASE', 0);
define('WP_REDIS_TIMEOUT', 1);
define('WP_REDIS_READ_TIMEOUT', 1);
4. Cache Data Tĩnh với Ramdisk
Ramdisk giúp lưu nội dung tĩnh vào RAM, tăng tốc độ truy cập:
Tạo Ramdisk (500MB) để lưu cache.
mkdir /mnt/ramdisk
mount -t tmpfs -o size=500M tmpfs /mnt/ramdisk
Chỉnh wp-config.php
để trỏ UPLOADS
đến Ramdisk.
define('UPLOADS', '/mnt/ramdisk/wp-uploads');
Thêm vào /etc/fstab
để tự động mount.
tmpfs /mnt/ramdisk tmpfs defaults,size=500M 0 0
5. Cache với Nginx FastCGI (Không cần Plugin)
Nếu dùng Nginx, có thể bật cache FastCGI cho PHP:
Tạo thư mục cache.
mkdir -p /var/cache/nginx/fastcgi_cache
chmod 777 /var/cache/nginx/fastcgi_cache
Cấu hình cache trong nginx.conf
.
fastcgi_cache_path /var/cache/nginx/fastcgi_cache levels=1:2 keys_zone=WORDPRESS:100m inactive=60m;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
server {
location ~ \.php$ {
fastcgi_cache WORDPRESS;
fastcgi_cache_valid 200 60m;
fastcgi_cache_use_stale updating;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
}
Khởi động lại Nginx.
systemctl restart nginx
6. Preload Cache Bằng WP-CLI
WP-CLI có thể được sử dụng để preload cache:
wp cache flush
wp cache add homepage "cached homepage content"
Tóm tắt cách không dùng plugin:
Phương pháp | Công nghệ |
---|---|
Cache database | Redis / Memcached |
Cache object | Redis Object Cache |
Cache file tĩnh | Ramdisk |
Cache PHP | Nginx FastCGI Cache |
Preload cache | WP-CLI |
Bạn có thể kết hợp các phương pháp trên để tối ưu hóa hiệu suất WordPress mà không cần plugin.
7. Kết Luận
Việc caching WordPress không cần plugin giúp tối ưu hóa hiệu suất và giảm tải hệ thống bằng cách tận dụng Redis, Memcached cho database, Ramdisk cho nội dung tĩnh và FastCGI Cache với Nginx để xử lý PHP nhanh hơn. Tùy theo nhu cầu, có thể kết hợp nhiều phương pháp để đạt hiệu quả tốt nhất.