Redis (Remote Dictionary Server) được sử dụng phổ biến để tăng tốc hiệu suất của các ứng dụng web. Trong WordPress, Redis có thể được sử dụng làm cơ chế cache để giảm thời gian phản hồi và tăng tốc độ tải trang. Trong bài viết này, chúng ta sẽ tìm hiểu cách cấu hình Redis Cache để tăng tốc trang web WordPress của bạn.
Cách cài đặt cấu hình Redis Cache để tăng tốc trang web WordPress

Redis Cache và plugin cache trong WordPress (ví dụ như plugin W3 Total Cache, WP Super Cache, hoặc WP Rocket) đều có vai trò cải thiện hiệu suất của trang web WordPress bằng cách sử dụng cơ chế cache. Tuy nhiên, Redis Cache có một số ưu điểm so với các plugin cache truyền thống. Dưới đây là một số điểm mạnh của Redis Cache so với các plugin cache trong WordPress:
- Hiệu suất cao: Redis là một hệ thống cơ sở dữ liệu in-memory, điều này cho phép nó lưu trữ cache trực tiếp trong bộ nhớ RAM, giúp cải thiện hiệu suất tải trang rõ rệt. Cache lưu trong bộ nhớ RAM nhanh hơn nhiều so với cache lưu trên đĩa cứng, như là trường hợp của hầu hết các plugin cache truyền thống.
- Điều khiển tùy chỉnh: Redis cung cấp nhiều tùy chọn cấu hình và quản lý cache linh hoạt hơn so với các plugin cache. Bạn có thể tùy chỉnh cách cache hoạt động, thời gian sống của cache, loại dữ liệu được lưu trữ và nhiều tùy chọn khác để đáp ứng yêu cầu cụ thể của trang web của bạn.
- Khả năng mở rộng: Redis hỗ trợ cơ chế sao chép dữ liệu (replication) và phân tán dữ liệu (sharding), giúp bạn mở rộng cụm máy chủ Redis để đáp ứng nhu cầu mở rộng và tải cao hơn. Điều này làm cho Redis trở thành một lựa chọn tốt khi bạn có một trang web lớn và mong muốn mở rộng hệ thống cache của mình.
- Khả năng xử lý phức tạp: Redis hỗ trợ nhiều loại dữ liệu phức tạp như danh sách, tập hợp, bản đồ băm, tập hợp được sắp xếp, v.v. Điều này cho phép bạn cấu hình Redis Cache để lưu trữ các cấu trúc dữ liệu phức tạp và thực hiện các hoạt động phức tạp trên dữ liệu cache, điều mà các plugin cache truyền thống thường không thể làm được.
- Độ tin cậy cao: Redis cung cấp các cơ chế bảo mật và đáng tin cậy để đảm bảo dữ liệu cache của bạn luôn được bảo vệ và không bị mất mát. Nó hỗ trợ các tính năng như replication, snapshots, và việc sao lưu dữ liệu, giúp đảm bảo rằng dữ liệu của bạn luôn sẵn sàng và an toàn.
- Tuy nhiên, cũng cần lưu ý rằng Redis yêu cầu một quản trị viên hệ thống có kiến thức về cấu hình và quản lý máy chủ, trong khi các plugin cache truyền thống có thể dễ dàng cài đặt và cấu hình thông qua giao diện quản lý WordPress. Lựa chọn sử dụng Redis Cache hay plugin cache trong WordPress phụ thuộc vào nhu cầu và sự kiến thức kỹ thuật của bạn.
Bước 1: Cài đặt và cấu hình Redis Cache
Trước tiên hãy xem máy chủ VPS của bạn đã có sẵn Redis Cache hay chưa, nếu như chưa có bạn có thể chạy câu lệnh này trên terminal để cài đặt:
sudo apt update sudo apt install redis-server
Điều này sẽ tải xuống và cài đặt Redis và các phần phụ thuộc của nó. Theo đó, có một thay đổi cấu hình quan trọng cần thực hiện trong tệp cấu hình Redis, được tạo tự động trong quá trình cài đặt.
Bước 2: Cấu hình và bảo mật Redis trên Server Linux
Cấu hình và bảo mật Redis trên máy chủ là một bước quan trọng để đảm bảo an toàn và đáng tin cậy khi sử dụng Redis làm cơ sở dữ liệu key-value hoặc làm cơ chế cache. Bây giờ bạn hãy mở file redis.conf và thực hiện thay đổi một số cấu hình cho nó.
sudo nano /etc/redis/redis.conf
Xác định vị trí dòng này và đảm bảo rằng nó không bị ghi chú (xóa dấu # ở đầu tiên). Hiện tại đa số đều hỗ trợ IPV6 nên bản có thể để cả “::1” để cho phép IPV6.
bind 127.0.0.1 ::1
Tiếp theo, tìm “maxmemory” để xác định bộ nhớ cho mục đích lưu trữ cache. Bạn có thể đặt số dung lượng RAM phù hợp với máy chủ của mình, thông thường là 256M.
maxmemory 256mb

Tiếp tục tìm “maxmemory-policy” và đặt giá trị là “allkeys-lru”
maxmemory-policy allkeys-lru
Để cấu hình bảo mật Redis Cache, hãy tìm và chỉnh sửa cấu hình “requirepass” trong tệp cấu hình Redis. Đặt mật khẩu mạnh cho nó, như sau:
requirepass matkhaucuaban
Xong bước cấu hình và bảo mật redis rồi, bây giờ hãy khởi động lại Redis Cache để các thay đổi có hiệu lực:
sudo service redis-server restart
Bước 3: Cách cấu hình Redis Wordpress trong wp-config.php
Trước tiên, hãy mở file “wp-config.php” và thêm những cấu hình này vào file. Cấu hình này có nhiệm vụ khai báo và kết nối Redis Cache cho Wordpress.
define('WP_CACHE', true); define('WP_CACHE_KEY_SALT', 'tenmiencuaban.com'); define('WP_REDIS_HOST', 'localhost'); define('WP_REDIS_PORT', '6379'); define('WP_REDIS_PASSWORD', 'your_redis_password'); //Mật khẩu được đặt ở requirepass (bước 2)
Tiếp tục tìm và cài plugin “Redis Object Cache“. Sau đó mở “Settings -> Redis -> Enable” nếu như các trạng thái: Status, Filesystem, Redis xanh như ảnh chụp màn hình bên dưới là cấu hình Redis Cache thành công.

Bước 4: Cách cấu hình Nginx Redis lưu cache cho Website Wordpresss
Các bước cài đặt, cấu hình Redis cache để sử dụng cho Wordpress gần như đã hoàn thành, nhưng bây giờ bạn phải chỉ định nơi lưu cache của trang web cũng như yêu cầu Nginx không cache một số trang nhất định. Những điều sau đây sẽ đảm bảo các trang và màn hình quản trị dành cho người dùng đã đăng nhập không được lưu vào bộ nhớ cache, cùng với một số trang khác. Điều này sẽ vượt lên trên khối vị trí đầu tiên.
Trong file cấu hình Nginx cho tên miền của bạn, hãy mở và chỉnh sửa như sau:
Thêm dòng “fastcgi_cache_path” vào đầu file cùng cấp với server {}. Và hãy xác định tên miền của bạn và được dẫn thư mục chứa cache.
fastcgi_cache_path /var/www/vhosts/dev.itsmeit.co/httpdocs/cache levels=1:2 keys_zone=tenmiencuaban.com:100m inactive=60m;
sudo chmod 755 /var/www/vhosts/dev.itsmeit.co/httpdocs/cache
Trong đó “/var/www/vhosts/dev.itsmeit.co/httpdocs/cache” là đường dẫn đến thư mục chứa cache. Trong hướng dẫn này ItsmeIT đã đặt cache trong thư mục chữa mã nguồn Wordpress.
Tiếp tục thêm các cấu hình Redis wordpress sau vào bên trong server {}.
set $skip_cache 0; # POST requests and urls with a query string should always go to PHP if ($request_method = POST) { set $skip_cache 1; } if ($query_string != "") { set $skip_cache 1; } # Don’t cache uris containing the following segments if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php|sitemap(_index)?.xml") { set $skip_cache 1; } # Don’t use the cache for logged in users or recent commenters if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") { set $skip_cache 1; }

Tiếp theo, trong khối vị trí PHP, hãy thêm các lệnh sau.
fastcgi_cache_bypass $skip_cache; fastcgi_no_cache $skip_cache; fastcgi_cache tenmiencuaban.com; fastcgi_cache_valid 60m;
Tiếp theo, bạn cần thêm các lệnh sau vào tệp nginx.conf của mình bên trong http {}.
sudo nano /etc/nginx/nginx.conf
# Cache Redis Settings fastcgi_cache_key "$scheme$request_method$host$request_uri"; add_header Fastcgi-Cache $upstream_cache_status;
Cuối cùng, khởi động lại Nginx để các thay đổi có hiệu lực. (Nếu có lỗi khi khởi động lại thì chạy lệnh sudo nginx -t
để hiện lỗi).
sudo service nginx restart
Nếu như không có vấn đề gì sảy ra, khởi động nginx thành công thì bạn có thể bắt đầu kiểm tra Redis cache đã thực sự hoạt động lưu cache cho website hay chưa.
Bước 5: Cách kiểm tra Redis đã hoạt động trên Website hay chưa
Trong bước 4, chúng ta đã cấu hình Redis Wordpress với Nginx để không cache với các user đã đăng nhập bằng tham số “wordpress_logged_in”. Bạn cũng có thể bỏ tham số này để cache tất cả các user đã đăng nhập. Tuy nhiên không khuyến khích vì có thể gây lỗi cache và vi phạm lưu thông tin người dùng.
Vậy làm thế nào để kiểm tra Redis đã thực sự hoạt động trên trang web Wordpress của bạn hay chưa? Có một số cách ItsmeIT sẽ nói cho bạn như sau:
- Cách 1: Kiểm tra trong plugin Redis Object Cache bằng cách mở trang Admin, bấm vào Settings -> Redis -> Metrics. Tại đây bạn sẽ thấy các dữ liệu hiển thị của Redis Cache.

- Cách 2: Ở bước 4 chúng ta đã cấu hình thư mục cache là “/var/www/vhosts/dev.itsmeit.co/httpdocs/cache”. Vậy bạn có thể xem trong thư mục này, khi các URL được mở (view) thì redis sẽ tạo ra các phiên bản cache cho từng trang và sẽ lưu tại đây.

- Cách 3: Sử dụng lệnh để kiểm tra trạng thái hoạt động Redis Cache. Để làm điều này hãy đăng nhập vào Redis.
redis-cli monitor
Nếu bạn đã đặt mật khẩu Redis, bạn có thể sử dụng lệnh này, nếu nó hiển thị các giá trị như ảnh chụp màn hình nghĩa là Redis đang cache và tăng tốc website của bạn.
export REDISCLI_AUTH="matkhaucuaban" redis-cli monitor

Được rồi, hãy trải nghiệm và tận hưởng sự linh hoạt và tốc độ website đã được tối ưu một cách hoàn hảo từ Redis Cache. Việc sử dụng Redis cho website Wordpress có thể mang lại nhiều lợi ích vượt trội về hiệu suất, nhưng đồng thời đòi hỏi kiến thức chuyên sâu và kỹ năng quản lý để triển khai một cách thành công. Nếu bạn có đủ kinh nghiệm và hiểu biết, hãy cấu hình Redis Cache tận dụng sự linh hoạt và tốc độ mà Redis mang lại, và website của bạn sẽ trở nên mạnh mẽ hơn bao giờ hết.
– Advertising –