Cách kết nối với cơ sở dữ liệu Redis

Ngày đăng: 26/08/2021
Cập nhật: 07/09/2021

1. Giới thiệu

Redis là một kho dữ liệu khóa – giá trị mã nguồn mở trong bộ nhớ. Cho dù bạn đã cài đặt Redis cục bộ hay đang làm việc với một phiên bản từ xa, bạn cần kết nối với phiên bản đó để thực hiện hầu hết các thao tác. Trong hướng dẫn này, chúng ta sẽ xem xét cách kết nối với Redis từ dòng lệnh, cách xác thực và kiểm tra kết nối của bạn, cũng như cách đóng kết nối Redis.

Mẹo: Hướng dẫn này được viết theo từng bước với các ví dụ. Chúng tôi khuyến khích bạn chuyển đến mục nào trong bài viết này có liên quan đến việc bạn đang thắc mắc và cần xử lý cho nhanh, chứ bạn đọc hết bài này thì tốn thời gian của bạn quá.

2. Cách kết nối Redis

Nếu bạn đã cài đặt redis trên mạng nội bộ, bạn có thể kết nối bằng lệnh redis-cli:

$ redis-cli

Nó sẽ đưa bạn tương tác với redis-cli, cung cấp cho bạn vòng lặp REPL, nơi bạn có thể chạy các lệnh tích hợp của Redis.

Trong ví dụ này và các ví dụ khác trong cả bài viết này, cho biết kết nối với phiên bản Redis được lưu trữ cục bộ (127.0.0.1) và được truy cập qua cổng mặc định của Redis (6379)

127.0.0.1:6379>

Cách thay thế để chạy các lệnh Redis trong chế độ tương tác là chạy chúng dưới dạng đối số cho redis-cli, như sau:

$ redis-cli redis_command

Nếu bạn đã đặt mật khẩu Redis, clients sẽ có thể kết nối với Redis ngay cả khi họ không -a vào lệnh redis-cli của mình. Tuy nhiên, họ sẽ không thể thêm, thay đổi hoặc truy vấn dữ liệu cho đến khi họ xác thực. Để xác thực sau khi kết nối, hãy sử dụng lệnh auth theo sau là mật khẩu:

127.0.0.1:6379> auth password

Nếu bạn muốn kết nối với kho dữ liệu Redis từ xa, bạn có thể chỉ định số máy chủ và cổng của nó bằng -h-p tương ứng. Ngoài ra, nếu bạn đã định cấu hình cơ sở dữ liệu Redis của mình để yêu cầu mật khẩu, bạn có thể bao gồm -a theo sau là mật khẩu của mình để xác thực:

$ redis-cli -h host -p port_number -a password

Nếu mật khẩu auth là hợp lệ, lệnh sẽ trả về OK. Nếu không, nó sẽ trả về một lỗi.

Nếu bạn đang làm việc với cơ sở dữ liệu Redis được quản lý, nhà cung cấp dịch vụ đám mây của bạn có thể cung cấp cho bạn một URI bắt đầu bằng redis:// hoặc rediss:// mà bạn có thể sử dụng để truy cập vào kho dữ liệu của mình. Nếu chuỗi kết nối bắt đầu bằng redis://, bạn có thể đưa nó vào làm đối số để redis-cli kết nối.

Tuy nhiên, nếu bạn có một chuỗi kết nối bắt đầu bằng rediss://, điều đó có nghĩa là cơ sở dữ liệu được quản lý của bạn yêu cầu kết nối qua TLS/SSL. redis-cli không hỗ trợ kết nối TLS, vì vậy bạn sẽ cần sử dụng một công cụ khác hỗ trợ giao thức phát hành lại để kết nối với URI.

Sử dụng cú pháp sau để kết nối với cơ sở dữ liệu với Redli. Lưu ý rằng ví dụ này bao gồm tùy chọn --tls, chỉ định rằng kết nối phải được thực hiện qua TLS và -u, khai báo rằng đối số sau sẽ là một URI:

$ redli --tls -u rediss://connection_URI

Nếu bạn đã cố gắng kết nối với một phiên bản không khả dụng, redis-cli sẽ chuyển sang chế độ ngắt kết nối.

not connected>

Redis sẽ cố gắng thiết lập lại kết nối mỗi khi bạn chạy một lệnh khi nó ở trạng thái ngắt kết nối.

3. Kiểm tra kết nối

Lệnh ping rất hữu ích để kiểm tra xem kết nối với cơ sở dữ liệu có còn tồn tại hay không. Lưu ý rằng đây là lệnh dành riêng cho Redis và khác với tiện ích mạng ping. Tuy nhiên, cả hai đều có chung một chức năng ở chỗ chúng đều được sử dụng để kiểm tra kết nối giữa hai máy.

Nếu kết nối được bật lệnh ping và không có đối số, nó sẽ trả về PONG

Nếu bạn cung cấp một đối số cho lệnh ping, nó sẽ trả về đối số đó thay vì PONG nếu kết nối thành công.

Ví dụ: Nhập đối số “Hello Redis”, và kết quả trả về là

127.0.0.1:6379> ping "Hello Redis"

Kết quả trả về

"Hello Redis"

Nghĩa là kết nối thành công.

4. Ngắt kết nối với Redis

Để ngắt kết nối ta dùng lệnh quit

127.0.0.1:6379> quit

Đang chạy, ta thoát kết nối bằng lệnh exit

127.0.0.1:6379> exit

5. Chốt

Trên đây là toàn bộ thao tác có thể sử dụng để kết nối với Redis, theo dõi các bài sẽ ra tiếp theo trong series “Quản lý CSDL Redis”