Redis (Remote Dictionary Server) là một hệ thống lưu trữ dữ liệu trong bộ nhớ mã nguồn mở, có thể được sử dụng như một bộ nhớ cache, máy chủ trung gian tin nhắn và lưu trữ dữ liệu thời gian thực. Thường được gọi là "máy chủ cấu trúc dữ liệu" vì nó cho phép bạn lưu trữ và thao tác với các loại cấu trúc dữ liệu khác nhau, như chuỗi, danh sách, tập hợp, băm, tập hợp đã sắp xếp và nhiều loại khác. Redis được thiết kế để có hiệu suất cao, độ trễ thấp và khả năng mở rộng. Trong bài viết này, chúng ta sẽ thảo luận về install và cấu hình Redis trên Debian 12.
Đảm bảo các gói hệ thống của bạn được cập nhật trước khi cài đặt Redis hoặc bất kỳ chương trình nào khác.
sudo apt update && sudo apt upgrade -y
Bằng cách sử dụng lệnh sau, bạn có thể cài đặt các gói phần mềm cụ thể cần thiết cho quá trình cài đặt Redis:
sudo apt install software-properties-common apt-transport-https curl ca-certificates -y
Trong bản demo này, KDATA sẽ hướng dẫn bạn cách install Redis trên Debian 12 bằng hai phương pháp:
Mặc dù Redis là một phần của gói phần mềm tiêu chuẩn của Debian nhưng phiên bản bạn tìm thấy ở đó có thể không phải là phiên bản mới nhất. Debian ưu tiên tính ổn định và thường chỉ phát hành các bản cập nhật bảo mật hoặc quan trọng. Bạn phải nhập lệnh sau vào thiết bị đầu cuối của mình để cài đặt Redis bằng phương pháp này:
$ sudo apt install redis
Suggested packages:
ruby-redis
The following NEW packages will be installed:
liblzf1 redis redis-server redis-tools
0 upgraded, 4 newly installed, 0 to remove and 109 not upgraded.
Need to get 1,092 kB of archives.
After this operation, 6,231 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Xác minh phiên bản đã cài đặt:
$ sudo apt-cache policy redis
redis:
Installed: 5:7.0.11-1
Candidate: 5:7.0.11-1
Version table:
*** 5:7.0.11-1 500
500 http://deb.debian.org/debian bookworm/main amd64 Packages
100 /var/lib/dpkg/status
Phương pháp thứ hai có thể hấp dẫn hơn đối với những người cần hoặc muốn có phiên bản Redis mới nhất. Bạn cần nhập kho APT từ kho chính thức của Redis.io
. Các cập nhật tính năng, bản vá bảo mật và sửa lỗi thường xuyên được thêm vào kho lưu trữ này
1.Nhập kho lưu trữ Redis.io
Trước tiên, chúng ta cần nhập khóa GPG. GPG, hay GNU Privacy Guard, là một tiện ích để lưu trữ dữ liệu và liên lạc an toàn.
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
Kho lưu trữ sau đó được nhập bằng lệnh sau:
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
2. Cài đặt Redis từ Redis.io
Sau đó, bạn install Redis từ kho Redis.io
. Bạn sẽ thấy bản nâng cấp nếu Redis đã được cài đặt từ kho lưu trữ Debian. Lệnh sau sẽ cài đặt Redis, cũng như máy chủ và công cụ Redis:
sudo apt update
sudo apt install redis redis-server redis-tools
Bây giờ hãy kiểm tra phiên bản đã cài đặt:
$ sudo apt-cache policy redis
redis:
Installed: 6:7.0.12-1rl1~bookworm1
Candidate: 6:7.0.12-1rl1~bookworm1
Version table:
*** 6:7.0.12-1rl1~bookworm1 500
500 https://packages.redis.io/deb bookworm/main amd64 Packages
500 https://packages.redis.io/deb bookworm/main all Packages
100 /var/lib/dpkg/status
6:7.0.11-1rl1~bookworm1 500
500 https://packages.redis.io/deb bookworm/main amd64 Packages
500 https://packages.redis.io/deb bookworm/main all Packages
6:7.0.10-1rl1~bookworm1 500
500 https://packages.redis.io/deb bookworm/main amd64 Packages
500 https://packages.redis.io/deb bookworm/main all Packages
6:7.0.9-1rl1~bookworm1 500
500 https://packages.redis.io/deb bookworm/main amd64 Packages
500 https://packages.redis.io/deb bookworm/main all Packages
6:7.0.8-1rl1~bookworm1 500
500 https://packages.redis.io/deb bookworm/main amd64 Packages
500 https://packages.redis.io/deb bookworm/main all Packages
6:7.0.7-1rl1~bookworm1 500
500 https://packages.redis.io/deb bookworm/main amd64 Packages
500 https://packages.redis.io/deb bookworm/main all Packages
6:7.0.6-1rl1~bookworm1 500
500 https://packages.redis.io/deb bookworm/main amd64 Packages
500 https://packages.redis.io/deb bookworm/main all Packages
Tiếp theo, sử dụng lệnh sau để kích hoạt phiên bản Redis và đặt nó khởi động khi khởi động hệ thống:
sudo systemctl enable redis-server --now
Sử dụng lệnh này để đảm bảo rằng Redis đang chạy không có lỗi:
$ systemctl status redis-server
● redis-server.service - Advanced key-value store
Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; preset: enab>
Active: active (running) since Sat 2023-08-05 13:44:27 EAT; 5min ago
Docs: http://redis.io/documentation,
man:redis-server(1)
Main PID: 4691 (redis-server)
Status: "Ready to accept connections"
Tasks: 5 (limit: 4623)
Memory: 7.8M
CPU: 437ms
CGroup: /system.slice/redis-server.service
└─4691 "/usr/bin/redis-server 127.0.0.1:6379"
Đặt mật khẩu để xác thực và cung cấp thêm một lớp bảo mật cho phiên bản Redis của bạn. Khi kết nối, Redis không yêu cầu mật khẩu theo mặc định. Bỏ dấu chú thích và chỉnh sửa chỉ thị requirepass
để tạo một mật khẩu:
Thay YourStrongPasswordHere
bằng một mật khẩu mạnh bao gồm các ký tự in hoa, thường, số và ký tự đặc biệt.
$ sudo vim /etc/redis/redis.conf
requirepass YourStrongPasswordHere
Sau khi tạo mật khẩu xong sử dụng lệnh auth
kết hợp với mật khẩu khi kết nối với Redis thông qua redis-cli
: Redis server chạy trên hosting mặc định (127.0.0.1
) và port (6379
):
$ redis-cli
127.0.0.1:6379> YourStrongPasswordHere
Sau đây là một số ví dụ về cách làm việc với Redis CLI:
$ redis-cli
> SET mykey "Hello, Redis!"
OK
> GET mykey
"Hello, Redis!"
127.0.0.1:6379>
$ redis-cli
127.0.0.1:6379> LPUSH mylist "item2"
(integer) 1
127.0.0.1:6379> LPUSH mylist "item2"
(integer) 2
127.0.0.1:6379> LLEN mylist
(integer) 2
127.0.0.1:6379> LRANGE mylist 0 -1
1) "item2"
2) "item2"
127.0.0.1:6379>
$ redis-cli
27.0.0.1:6379> SADD myset "member1"
(integer) 1
27.0.0.1:6379> SADD myset "member2"
(integer) 2
27.0.0.1:6379> SMEMBERS myset
1) "member2"
2) "member1"
$ redis-cli
27.0.0.1:6379> HMSET myhash field1 "value1" field2 "value2"
OK
> HGET myhash field1
"value1"
> HGETALL myhash
1) "field1"
2) "value1"
3) "field2"
4) "value2"
127.0.0.1:6379[1]> DEL hello
OK
127.0.0.1:6379[1]> GET hello
(nil)
Redis được thiết lập để chỉ nghe trên giao diện localhost
theo mặc định. Bạn có thể định cấu hình Redis để nghe trên tất cả các giao diện mạng hoặc địa chỉ IP/mạng con được chỉ định.
Để Redis lắng nghe trên tất cả các giao diện mạng, hãy thêm một #
ở đầu hàng ràng buộc:
$ sudo vim /etc/redis/redis.conf
# bind 127.0.0.1 ::1
Việc thay thế địa chỉ IP hoặc mạng con ưa thích của bạn thay cho dòng ràng buộc sẽ liên kết Redis với địa chỉ hoặc mạng con đó:
bind 0.0.0.0/0
#OR
#bind 192.200.x.0/24
Việc yêu cầu mật khẩu là rất quan trọng để tăng cường bảo mật khi liên kết Redis với một địa chỉ IP hoặc mạng con.
Định cấu hình tường lửa bảo vệ là một bước quan trọng để chạy máy chủ Redis một cách an toàn. Theo mặc định, Redis không có cài đặt tường lửa được cấu hình sẵn. Kiểm tra xem UFW đã được cài đặt trên máy chủ Debian chưa trước khi định cấu hình tường lửa. Bạn dễ dàng cài đặt nó bằng lệnh sau nếu nó chưa được cài đặt:
sudo apt install ufw -y
UFW phải được kích hoạt sau khi cài đặt để bắt đầu hoạt động và bảo vệ máy của bạn. Với lệnh sau, UFW được kích hoạt:
sudo ufw enable
Định cấu hình quy tắc UFW cho Redis, thay thế các quy tắc sau cho phù hợp:
sudo ufw allow proto tcp from <ip address> to any port 6379
Bạn có thể cho phép kết nối từ toàn bộ mạng con nếu bạn đang sử dụng một cụm máy chủ Redis. Thực hiện dòng dưới đây:
sudo ufw allow proto tcp from <ip address>/24 to any port 6379
Xác minh cấu hình UFW:
redis-cli -h <ip address> ping
Cuối cùng, để áp dụng các cài đặt đã sửa đổi, khởi động lại dịch vụ Redis:
sudo systemctl restart redis
Kiểm tra xem đã khởi động lại thành công chưa:
$ systemctl status redis
● redis-server.service - Advanced key-value store
Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; preset: enab>
Active: active (running) since Sat 2023-08-05 15:31:02 EAT; 10s ago
Docs: http://redis.io/documentation,
man:redis-server(1)
Main PID: 5817 (redis-server)
Status: "Ready to accept connections"
Tasks: 5 (limit: 4623)
Memory: 7.8M
CPU: 49ms
CGroup: /system.slice/redis-server.service
Như vậy, việc install Redis trên Debian 12 đã trở nên dễ dàng hơn bao giờ hết. Bằng cách tuân thủ các bước hướng dẫn trên, bạn đã thành công tạo ra một môi trường Redis mạnh mẽ để tối ưu hóa hiệu suất ứng dụng của mình. Redis không chỉ đơn giản là một hệ thống caching mà còn mang lại sự linh hoạt và khả năng mở rộng cho dự án của bạn.
Tips: Tham gia Channel Telegram KDATA để không bỏ sót khuyến mãi hot nào