Hướng dẫn cài đặt Redis trên CentOS 7

Redis (Remote Dictionary Server) là một mã nguồn mở được dùng để lưu trữ dữ liệu có cấu trúc, có thể sử dụng như một database, bộ nhớ cache hay một message broker. Nó là hệ thống lưu trữ dữ liệu với dạng KEY-VALUE rất mạnh mẽ và phổ biến hiện nay. Redis nổi bật bởi việc hỗ trợ nhiều cấu trúc dữ liệu cơ bản như:hash, list, set, sorted set, string… Tất cả dữ liệu được ghi và lưu trên ram, do đó tốc độ đọc ghi dữ liệu rất là nhanh.

Ngoài ra Redis còn được sử dụng làm bộ nhớ đệm (Cache). Chính tốc độ đọc ghi nhanh mà Redis có thể làm bộ nhớ đệm, nơi chia sẻ dữ liệu giữa các ứng dụng hoặc làm database tạm thời. Ngoài ra Redis có thể sử dụng để làm Full Page Cache cho website. Cũng vì tính nhất quán của Redis, cho dù restart Redis thì người dùng cũng không có cảm nhận chậm khi tải trang.

Yêu cầu

  • VPS/Server sử dụng CentOS7
  • Đã cài đặt PHP-FPM bao gồm cả php-devel
  • Ram từ 2GB trở lên và có cấu hình Swap

Bước 1: Cài đặt EPEL

Redis không có sẵn trong kho yum mặc định vì vậy bạn cần bật kho lưu trữ EPEL yum trên máy chủ của mình trước khi cài đặt redis. Để kích hoạt EPEL các bạn sử dụng lệnh sau:

yum install epel-release

Bước 2: Cài đặt Redis

Bây giờ, Bạn có thể sử dụng trình quản lý gói yum để cài đặt máy chủ Redis trên VPS. Thực thi lệnh để cài đặt Redis trên hệ thống của bạn:

yum install -y redis

Sau khi cài đặt thành công, khởi động lại dịch vụ Redis và cho phép tự động khởi động khi khởi động lại hệ thống.

systemctl enable redis
systemctl start redis

Bước 3: Cài đặt igbinary

Igbinary là sự thay thế cho bộ nối tiếp php tiêu chuẩn. Igbinary lưu trữ các cấu trúc dữ liệu php ở dạng nhị phân giúp tiết kiệm bộ nhớ cache cũng như tăng tốc độ load. Để biết thêm về Igbinary các bạn có thể xem thêm tại đây.

  • Cài đặt cho Igbinary PHP 5.6
cd /opt
wget https://pecl.php.net/get/igbinary-2.0.8.tgz
tar -xvf igbinary-2.0.8.tgz
cd igbinary-2.0.8
/usr/bin/phpize && ./configure --with-php-config=/usr/bin/php-config
make && make install
  • Cài đặt cho Igbinary PHP 7
cd /opt
wget https://pecl.php.net/get/igbinary-3.1.2.tgz
tar -xvf igbinary-3.1.2.tgz
cd igbinary-3.1.2
/usr/bin/phpize && ./configure --with-php-config=/usr/bin/php-config
make && make install
  • Lưu ýNếu gặp thông báo lỗi như dưới đây nghĩa là các bạn chưa cài đặt php-devel
Can't find PHP headers in /usr/include/php
The php-devel package is required for use of this command.

Để cài php-devel các bạn có thể chạy lệnh sau

yum -y install php-devel

Bước 4: Cài đặt Redis PHP extension

Tiếp theo các bạn cần cài đặt Redis PHP extension

  • Cài đặt cho Redis PHP extension PHP 5.6
cd /opt
wget https://pecl.php.net/get/redis-4.3.0.tgz
tar -xvf redis-4.3.0.tgz
cd redis-4.3.0
/usr/bin/phpize && ./configure --enable-redis-igbinary --with-php-config=/usr/bin/php-config
make && make install
  • Cài đặt cho Redis PHP extension PHP 7
cd /opt
wget https://pecl.php.net/get/redis-5.2.1.tgz
tar -xvf redis-5.2.1.tgz
cd redis-5.2.1
/usr/bin/phpize && ./configure --enable-redis-igbinary --with-php-config=/usr/bin/php-config
make && make install

Bước 5: Cấu hình Load Redis Module

Để PHP có thể load được Igbinary và Redis PHP extension các bạn tạo file /etc/php.d/00-custom.ini với nội dung như sau:

extension=igbinary.so
extension=redis.so

Sau đó các bạn tiến hành restart lại php-fpm

service php-fpm restart

Để kiểm tra xem module đã được load hay chưa các bạn dùng lệnh sau

php -m | grep redis
php -m | grep igbinary

Bước 6: Cấu hình Redis làm Máy chủ Cache

Các bạn mở file /etc/redis/redis.conf và xoá toàn bộ nội dung bên trong sau đó thay thế bằng nội dung sau

maxmemory 256mb
maxmemory-policy allkeys-lru
save ""

Cấu hình trên yêu cầu Redis xóa bất kỳ khóa nào bằng thuật toán LRU khi đạt tới bộ nhớ tối đa 256mb. Lưu tệp cấu hình và khởi động lại dịch vụ Redis:

systemctl restart redis

Bước 7: Kiểm tra kết nối với Redis Server

Để kiểm tra xem redis đã hoạt động hay chưa các bạn dùng lệnh sau

redis-cli ping

Nếu kết quả trả về là PONG nghĩa là redis đã hoạt động.

Tài liệu tham khảo:

  • https://redis.io/documentation
  • https://github.com/igbinary/igbinary

Chúng ta đã cài đặt và cấu hình xong Redis để làm cache server. Chúc bạn thành công.

0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận