Thứ sáu, 26/06/2020 | 00:00 GMT+7

Cách kết nối với database Redis

Redis là một repodata key-value open-souce trong bộ nhớ. Cho dù bạn đã cài đặt Redis local hay đang làm việc với một version từ xa, bạn cần phải kết nối với nó để thực hiện hầu hết các thao tác. Trong hướng dẫn này, 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.

Cách sử dụng Hướng dẫn này

Hướng dẫn này được viết như một bảng lừa đảo với các ví dụ riêng. Ta khuyến khích bạn chuyển đến bất kỳ phần nào có liên quan đến nhiệm vụ bạn đang cố gắng hoàn thành.

Các lệnh hiển thị trong hướng dẫn này đã được thử nghiệm trên server Ubuntu 18.04 chạy Redis version 4.0.9 . Để cài đặt một môi trường tương tự, bạn có thể làm theo Bước 1 trong hướng dẫn của ta về Cách cài đặt và bảo mật Redis trên Ubuntu 18.04 . Ta sẽ chứng minh các lệnh này hoạt động như thế nào bằng cách chạy chúng với redis-cli , giao diện dòng lệnh Redis. Lưu ý nếu bạn đang sử dụng một giao diện Redis khác - ví dụ như Redli - kết quả kết quả chính xác của một số lệnh nhất định có thể khác nhau.

Ngoài ra, bạn có thể cung cấp một version database Redis được quản lý để kiểm tra các lệnh này, nhưng lưu ý tùy thuộc vào mức độ kiểm soát được nhà cung cấp database của bạn cho phép, một số lệnh trong hướng dẫn này có thể không hoạt động như được mô tả. Để cung cấp Dịch vụdatabase DigitalOcean, hãy làm theo tài liệu sản phẩm Dịch vụdatabase của ta . Sau đó, bạn phải cài đặt Redli hoặc cài đặt tunnel TLS để kết nối với Dịch vụdatabase qua TLS.

Kết nối với Redis

Nếu bạn đã cài đặt local redis-server , bạn có thể kết nối với version Redis bằng lệnh redis-cli :

  • redis-cli

Thao tác này sẽ đưa bạn vào chế độ tương tác của redis-cli , nơi cung cấp cho bạn một vòng lặp đọc-đánh giá-in (REPL), nơi bạn có thể chạy các lệnh tích hợp của Redis và nhận trả lời.

Trong chế độ tương tác, dấu nhắc dòng lệnh của bạn sẽ thay đổi để phản ánh kết nối của bạn. Trong ví dụ này và các ví dụ khác trong suốt hướng dẫn này, dấu nhắc cho biết kết nối đến version Redis được lưu trữ local ( 127.0.0.1 ) và được truy cập qua cổng mặc định của Redis ( 6379 ):

  •  

Giải pháp 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ố của redis-cli , như sau:

  • redis-cli redis_command

Nếu bạn muốn kết nối với một repodata Redis từ xa , bạn có thể chỉ định số server và cổng của nó bằng cờ -h-p tương ứng. Ngoài ra, nếu bạn đã cấu hình database Redis của bạn để yêu cầu password , bạn có thể bao gồm cờ -a theo sau là password của bạn để xác thực:

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

Nếu bạn đã đặt password Redis, khách hàng sẽ có thể kết nối với Redis ngay cả khi họ không đưa cờ -a vào lệnh redis-cli . 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à password :

  • auth password

Nếu password được chuyển cho 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 database Redis được quản lý, nhà cung cấp dịch vụ cloud 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 repodata của bạn . 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ó chuỗi kết nối bắt đầu bằng rediss:// , điều đó nghĩa là database đượ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 cần phải sử dụng một công cụ khác nhau mà hỗ trợ các rediss giao thức để kết nối với các URI. Đối với Dịch vụdatabase DigitalOcean, yêu cầu kết nối được thực hiện qua TLS, ta khuyên bạn nên sử dụng Redli để truy cập version Redis.

Sử dụng cú pháp sau để kết nối với database với Redli. Lưu ý 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à cờ -u , khai báo rằng đối số sau sẽ là một URI kết nối:

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

Nếu bạn đã cố gắng kết nối với một version không khả dụng, redis-cli sẽ chuyển sang chế độ ngắt kết nối . Dấu nhắc sẽ phản ánh điều này:

  •  

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

Kiểm tra kết nối

Lệnh ping hữu ích để kiểm tra xem kết nối với database có còn tồn tại hay không. Lưu ý đâ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 và không có đối số nào được bao gồm, lệnh ping sẽ trả về PONG :

  • ping
Output
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:

  • ping "hello Redis!"
Output
"hello Redis!"

Nếu bạn chạy ping hoặc bất kỳ lệnh nào khác ở chế độ ngắt kết nối, bạn sẽ thấy kết quả như sau:

  • ping
Output
Could not connect to Redis at host:port: Connection refused

Lưu ý ping cũng được Redis sử dụng nội bộ để đo độ trễ .

Ngắt kết nối khỏi Redis

Để ngắt kết nối khỏi version Redis, hãy sử dụng lệnh quit :

  • quit

Đang chạy exit cũng sẽ thoát khỏi kết nối:

  • exit

Cả quitexit sẽ đóng kết nối, nhưng chỉ ngay sau khi tất cả các câu trả lời đang chờ xử lý đã được viết cho khách hàng.

Kết luận

Hướng dẫn này trình bày chi tiết một số lệnh được sử dụng để cài đặt , kiểm tra và đóng kết nối với server Redis. Nếu có các lệnh, đối số hoặc quy trình liên quan khác mà bạn muốn xem trong hướng dẫn này, vui lòng hỏi hoặc đưa ra đề xuất trong phần comment bên dưới.

Để biết thêm thông tin về các lệnh Redis, hãy xem loạt bài hướng dẫn của ta về Cách quản lý database Redis .


Tags:

Các tin liên quan

Cách cài đặt và bảo mật Redis trên Ubuntu 20.04
2020-05-01
Cách cài đặt và bảo mật Redis trên Ubuntu 20.04 [Quickstart]
2020-05-01
Cách cài đặt và bảo mật Redis trên Ubuntu 18.04
2020-04-30
Cách di chuyển dữ liệu Redis với sao chép trên Ubuntu 18.04
2019-12-04
Cách thêm Sidekiq và Redis vào ứng dụng Ruby on Rails
2019-11-22
Cách quản lý các bộ được sắp xếp trong Redis
2019-11-22
Cách hết hạn khóa trong Redis
2019-10-08
Cách quản lý bản sao và khách hàng trong Redis
2019-10-08
Cách thực hiện giao dịch trong Redis
2019-10-01
Cách phân tích thống kê database Redis được quản lý bằng cách sử dụng elastic trên Ubuntu 18.04
2019-09-27