Hướng dẫn kích Redis object cache cho WordPress từ A-Z một cách đơn giản và hiệu quả.

Redis là một hệ thống lưu trữ dữ liệu cơ sở dữ liệu key-value mã nguồn mở, được sử dụng rộng rãi cho việc lưu trữ cache hiệu suất cao trong các ứng dụng web. Trong bài viết này, chúng ta sẽ hướng dẫn cách kích hoạt Redis Object Cache cho WordPress từ A đến Z.

A. Cài đặt Redis Server:
1. Cài đặt Redis Server trên máy chủ của bạn (nếu chưa có). Bạn có thể tìm hiểu cách cài đặt Redis trên hệ điều hành của bạn bằng cách tìm kiếm trên công cụ tìm kiếm.

B. Cài đặt WordPress Redis Object Cache Plugin:
1. Đăng nhập vào trang quản trị WordPress của bạn.
2. Truy cập vào trang “Plugins” trên thanh bên trái và nhấp vào nút “Add New”.
3. Tìm kiếm “Redis Object Cache” trong ô tìm kiếm. Plugin chính thức của WordPress có tên “Redis Object Cache” được phát triển bởi “Till Krüss” sẽ xuất hiện đầu tiên. Nhấp vào nút “Install Now” để cài đặt plugin này.
4. Sau khi cài đặt thành công, nhấp vào nút “Activate” để kích hoạt plugin.

C. Cấu hình Redis Object Cache cho WordPress:
1. Mở tệp wp-config.php trong tệp gốc của WordPress của bạn.
2. Thêm dòng sau vào cuối của tệp wp-config.php:

define(‘WP_REDIS_HOST’, ‘127.0.0.1’);
define(‘WP_REDIS_PORT’, ‘6379’);

Trong đó ‘127.0.0.1’ là địa chỉ IP của máy chủ Redis và ‘6379’ là cổng mà Redis Server đang lắng nghe. Bạn cần thay đổi các giá trị này nếu Redis Server của bạn được cài đặt trên một máy chủ hoặc cổng khác.

3. Lưu và đóng tệp wp-config.php.

D. Kích hoạt Redis Object Cache cho WordPress:
1. Mở lại trang quản trị WordPress của bạn.
2. Truy cập vào trang “Plugins” và tìm kiếm “Redis Object Cache” trong danh sách các plugin đã được cài đặt.
3. Nhấp vào nút “Settings” bên dưới tên plugin “Redis Object Cache” để mở trang cấu hình plugin.
4. Nhấp vào nút “Enable Object Cache” để kích hoạt Redis Object Cache cho WordPress.

Vậy là bạn đã hoàn thành việc kích hoạt Redis Object Cache cho WordPress từ A đến Z. Bây giờ, các requets của WordPress sẽ được lưu trữ và truy xuất từ Redis, giúp cải thiện hiệu suất và tăng tốc độ trang web của bạn.

Khi nói về cache và hiệu năng website, có nhiều thể loại và cấp độ cache trên WordPress, trong đó có cả Redis object cache.

Nếu bạn chưa biết bạn đã bật bao nhiêu cache và đã bật đủ cache cho trang web WordPress của bạn chưa, hãy đọc bài viết: 5 cấp độ cache website WordPress.

Muốn hiểu rõ hơn về Object Cache trong WordPress, hãy tham khảo: Object Caching là gì.

Bài viết này chia sẻ cách kích hoạt redis object cache cho website WordPress trên VPS. Cùng với đó, sẽ tiết lộ cách cấu hình redis object cache cho hiệu suất tối ưu của WordPress.

Bài viết này giúp tăng tốc load website WordPress đặc biệt cho các trang web sử dụng nhiều truy vấn database như trang thương mại điện tử.

Redis là gì

WordPress mặc định hỗ trợ mô phỏng object cache với WP_Object_Cache, nhưng nó không hiệu quả và chán so với các object cache như redis và memcached.

Trong bài viết này, chúng ta sẽ kích hoạt redis object cache.

Redis object cache rất phổ biến trong các dự án lớn và nhỏ như GitHub, Weibo, Pinterest, StackOverflow… Redis vẫn là công cụ hiệu quả và được sử dụng rộng rãi.

Redis được hỗ trợ bởi nhiều ngôn ngữ lập trình, đặc biệt là PHP của WordPress.

Redis viết bằng ngôn ngữ C, nên tốc độ của nó rất nhanh. Bạn chỉ có thể cài đặt Redis trên máy chủ web, không thể cài đặt nó như một plugin WordPress chạy PHP.

Nói về so sánh Redis và Memcached, phạm trù rất rộng và dài. Tôi sẽ viết một bài so sánh khác sau nếu bạn cần tìm hiểu.

Redis là một object cache công nghệ mới, tính năng cao hơn và nhanh hơn memcached. Redis rất hữu ích cho website phức tạp và đặc biệt hiệu quả đối với các website thương mại điện tử có nhiều truy vấn cơ sở dữ liệu, cải thiện tốc độ tải trang đáng kể.

Hướng dẫn cách cài Redis cache cho đối tượng.

Bước 1: Kết nối ssh vào vps bằng tài khoản root.

Bạn thường xuyên sử dụng phần mềm SSH và đăng nhập với tài khoản root, điều này quá đơn giản.

Bước 2: Cài Redis trên Linux.

Khi dùng CENTOS, rocky linux, almalinux…

yum intsall redis -y

Sử dụng Ubuntu, Debian… lệnh.

apt install redis-server redis-tools -y

Bước 3: Cài đặt Redis extension cho PHP.

Tùy webserver và hệ điều hành linxu bạn dùng có cách cài đặt khác nhau.

Nếu bạn đang sử dụng CentOS, Rocky Linux, AlmaLinux hoặc các hệ điều hành khác và kết hợp với máy chủ web OpenLiteSpeed.

yum install lsphp74-pecl-redis -y

Thay 74 bằng phiên bản PHP hiện tại của bạn.

Dùng lệnh sau để sử dụng PHP hoặc PHP-FPM với Apache hoặc Nginx trên CentOS, Rocky Linux, Almalinux:

yum install php-pecl-redis5 -y

Vẫn dùng PHP trên Ubuntu, Debian…

apt install php-redis -y

Các phiên bản php và kho lưu trữ hệ điều hành có cách kích hoạt php extension khác nhau. Có thể tìm hiểu trên Google để biết cách cài đặt từ kho lưu trữ, nếu không được hỗ trợ thì phải cài đặt bằng source code. Quá trình này phụ thuộc vào phiên bản php, loại webserver và hệ điều hành.

Chỉ cần mình làm cơ bản thôi nhé.

Bước 4: Cấu hình redis.

Đây là phần quan trọng nhất trong bài.

Khi sử dụng unix socket, hiệu suất nhanh hơn 25% và bảo mật tốt hơn giao thức TCP. Nếu sử dụng mô hình all-in-one, nên sử dụng unix socket để cải thiện hiệu suất và bảo mật.

Nếu bạn sử dụng máy chủ database và máy chủ webserver riêng biệt, bạn không thể sử dụng unix socket mà phải sử dụng giao thức TCP. Tuy nhiên, trong bài viết này, tôi chỉ hướng dẫn triển khai với unix socket vì mô hình all in one vẫn được sử dụng rộng rãi.

file cấu hình redis ở /etc/redis.conf.

unixsocket /var/run/redis/redis.sock
unixsocketperm 777
maxmemory 128mb
maxmemory-policy allkeys-lru

Thêm đoạn này vào đầu tệp cấu hình Redis tại `/etc/redis.conf`.

Mình sẽ giải thích từng dòng một.

unixsocket /var/run/redis/redis.sock và unixsocketperm 777 chỉ chiếm 25% của đề bài.

Đường dẫn sử dụng giao thức unix socket là /var/run/redis/redis.sock và phải chmod.

Một cách tối ưu là đặt giá trị maxmemory là 128MB, phù hợp cho website WordPress. Nếu website nhỏ thì nên đặt là 64MB, và nếu truy cập lớn thì để 128MB hoặc 256MB.

Khi Redis ăn ram vượt quá quy định, maxmemory-policy allkeys-lru tự động xóa dữ liệu ít truy vấn để nhường vị trí cho dữ liệu thường xuyên truy vấn.

B5: Phân quyền unix socket.

Gõ từng dòng vào terminal của bạn:

mkdir -p /var/run/redis
chmod 700 /var/lib/redis
chown redis:redis /var/run/redis
chown redis:redis /etc/redis.conf
chmod 600 /etc/redis.conf

Bước 6: Khai báo SELinux

Gõ từng dòng vào terminal:

semanage permissive -a redis_t

Không ai dùng SELinux hết.

Nếu không biết về SELinux và không sử dụng nó, bạn có thể bỏ qua bước này. Nếu bạn quan tâm đến bảo mật và có thời gian, hãy tự tìm hiểu về SELinux.

Bước 7: Bật redis và khởi động lại webserver.

systemctl enable redis.service
systemctl start redis.service

Hãy khởi động lại webserver của bạn.

Các webserver có lệnh reboot riêng.

Với nginx webserver:

systemctl restart nginx.service

Với LiteSpeed webserver

systemctl restart lshttpd.service

Với apache webserver

systemctl restart httpd.service

Cài đặt redis object cache xong cho webserver.

Bây giờ, active Redis cho WordPress.

Kết nối redis đến WordPress

25%: Hướng dẫn WordPress về cách sử dụng Redis cache.

Mình sẽ chia sẻ cách kết nối redis và WordPress mình thích và hay dùng.

Để thì bạn xóa file wp-content/object-cache.php nếu có. Nếu không có, thì thôi.

Nên chọn một phương thức kích hoạt, không chồng chéo với nhau để tránh xung đột gây hỏng website.

Sử dụng ứng dụng LiteSpeed Cache để tối ưu trang web của bạn.

Litespeed Cache cùng Redis object cache tăng hiệu suất tốt và đồng bộ hoàn hảo. Nếu bạn dùng plugin LiteSpeed Cache, đây là lựa chọn tuyệt vời.

litespeed-object-cache-redis
litespeed-object-cache-redis

object cache: chuyển qua on

method: thì chuyển qua Redis

Chỉ cần điền host là /var/run/redis/redis.sock.

port để là 0

Rồi lưu save lại.

Không phải ai cũng dùng LiteSpeed Cache. Nếu không dùng, chỉ sử dụng object cache sẽ gây tốn tài nguyên và không phải ai cũng dùng Litespeed webserver để chạy plugin LiteSpeed cache. Nếu bạn không dùng LiteSpeed Cache, chúng ta sẽ chọn lựa chọn thứ hai.

2: Sử dụng plugin WP REDIS.

Đêm là cách mình rất thích cùng hiệu năng tuyệt vời, nhưng ít chia sẻ. Dùng cho người mới học khá khó, nhưng không sao có mình sẽ hướng dẫn. Yêu cầu VPS hỗ trợ wp cli để áp dụng cách này.

Tham khảo WP-CLI để quản trị WordPress từ Terminal.

Hãy thêm đoạn mã này vào file wp-config.php trong trang web của bạn.

$redis_server = array(
    'host'     => '/var/run/redis/redis.sock',
    'database' => 0,
);

Trên terminal, gõ lệnh sau với đường dẫn của website thay thế /home/giatuandz.

wp plugin install wp-redis --activate --allow-root --path=/home/giatuandz
wp redis enable --allow-root --path=/home/giatuandz

Như vậy là hoàn tất rồi.

Cách kích hoạt này tương thích tốt với các plugin cache HTML như wp rocket, swift performance.

Sử dụng Redis Object Cache Plugin làm bộ nhớ cache cho WordPress.

plugin-redis-object-cache
plugin-redis-object-cache

Cách này tương thích tốt như wp redis, nhưng hiệu suất thấp hơn 25%. Plugin Redis Object Cache dễ kích hoạt và được nhiều người sử dụng, nhưng không ấn tượng như cách 2. Tuy nhiên, cách này dễ kích hoạt và phổ biến.

Cách này bạn chỉ cần vào: tải plugin Redis Object Cache

Thêm đoạn mã này vào file wp-config.php.

define('WP_REDIS_SCHEME', 'unix');
define('WP_REDIS_PATH', '/var/run/redis/redis.sock');

Chuyển sang Plugin Redis Object Cache và lưu lại.

bat-object-cache-plugin
bấm vào enable object cache là ok

Đã hoàn tất. Kích hoạt này tương thích tốt với các plugin cache HTML khác như wp rocket, swift performance…

Đây là 3 cách đánh giá về hiệu suất thì mình cảm thấy thực sự rất ấn tượng còn thêm 1 cách mình khá là khoái mình cũng sẽ bật mí cho mọi người là add file code php vào trong object cache.php vào thư mục wp-content mã nguồn là xong, luôn hiệu suất cũng rất ổn nhưng mà thiếu đi sự cập nhật lâu dài về sau và nhìn file đó tác giả update tận 6 năm trước rồi nghĩ cũng ngại mà mình test mọi thứ vẫn ổn nhưng mà lâu ngày không được update lên ngại và trong tương lai ai update cho anh em trong quá trình sử dụng nên cách này thì bỏ qua hướng dẫn mọi người, thôi không hướng dẫn anh em chi tiết cách này.

Hiện tại, mình chỉ biết 3 cách để kích hoạt redis với hiệu suất ổn áp.

Bạn cần kiểm tra hệ thống redis của mình đã hoạt động chưa.

Kiểm tra xem Redis đã chạy ổn định hay chưa.

Hãy dán đoạn mã này vào terminal.

redis-cli monitor

Bạn chuyển sang website và click một số lần. Nếu màn hình terminal hiển thị nhiều giá trị chuyển động, bạn hiểu rằng các nhấp chuột trên website đã kích hoạt thành công redis. Nếu màn hình terminal không có hoạt động, điều đó nghĩa là việc kích hoạt không thành công.

redis-check-query
nếu redis hiển thị cách thông tin query như thế này khi bạn sử dụng click vào website nó hiện tại các thông tin như thế này thì bạn đã kích hoạt thành công rồi

Bạn có thể sử dụng plugin query monitor để kiểm tra hiệu suất truy vấn database. Ngoài ra, bạn có thể thử sử dụng chrome dev tool để đo tốc độ trước và sau khi sử dụng redis.

Xóa clear cache redis

Nếu cần xóa cache redis, hãy sử dụng.

  1. Sử dụng bằng terminal lệnh:
    Bạn chỉ cần vào gõ lệnh này vào terminal là xong.

    redis-cli FLUSHALL
  2. Sử dụng bằng plugin WordPress sẽ có hỗ trợ tính năng này: là có thể tự chạy được hoặc bạn có thể xóa từng cấp plugin hỗ trợ: như litespeed, redis object cache
redis-object-cache-plugin
redis-object-cache-plugin xóa cache
xóa-cache-nhanh-của-plugin-litespeed
xóa-cache-nhanh-của-plugin-litespeed bạn có thể xóa toàn bộ cache hoặc xóa mỗi object cache với plugin LiteSpeed Cache

Kết luận:

Đã hoàn tất, hy vọng bài viết sẽ giúp tăng tốc độ load website wordpress, kích hoạt redis có giá trị đối với hiệu suất, đặc biệt khi sử dụng các website với nhiều truy vấn database như trang thương mại điện tử, diễn đàn. Object cache là lựa chọn tốt để cải thiện hiệu suất khi không thể cache html page được.

Cách sử dụng WordPress được hướng dẫn trong bài viết này.

– Active object cache
– Cài đặt Redis cho WordPress
– Hướng dẫn cấu hình Redis cho WordPress
– Kích hoạt Redis object cache
– Redis cache cho WordPress
– Sử dụng Redis object cache trong WordPress
– Cách sử dụng Redis cho object caching trong WordPress
– Hướng dẫn kích hoạt Redis object cache cho WordPress

Nguyễn Mạnh, là một chuyên gia tăng tốc, bảo mật và quản trị website với 6 năm kinh nghiệm, chuyên sâu về speed web wordpress, hosting, database và quản trị Server. Không dừng tại tăng tốc và quản trị website, Mạnh còn nghiên cứu về vps, cloud lưu trữ website, conten và Seo tối ưu hóa công cụ tìm kiếm. Với đam mê chia sẻ tăng tốc, bảo mật, website server Mạnh cũng có kênh youtube 1.000+ subscriber, lẫn group cộng đồng SEO 1.000+ người hiện tại. Mạnh hiện đang là một trong những chuyên gia trong lĩnh vực website tại Việt Nam. Ngoài là CEO tại Mạnh WEB, Mạnh còn đam mê về lĩnh vực AI, ứng dụng AI trong thiết kế website, tăng tốc, tạo nội dung web mang lại sự tối ưu về thời gian và hiệu quả cho doanh nghiệp nói chung.