Trong hướng dẫn này, chúng ta sẽ tìm hiểu về cách sử dụng kho dữ liệu redis làm hệ thống nhắn tin xuất bản / đăng ký.
Redis Pub / Sub System
Redis triển khai mô hình nhắn tin Đăng / Đăng ký. Theo mô hình nhắn tin này, người gửi (người phát hành) tin nhắn không được lập trình để gửi tin nhắn của họ trực tiếp đến một người nhận (thuê bao) cụ thể. Họ gửi (xuất bản) thông điệp của họ đến một kênh cụ thể mà không biết kênh nào hoặc có người nhận (thuê bao) nào sẽ sử dụng thông điệp đó hay không. Người nhận (người đăng ký), người muốn sử dụng tin nhắn bày tỏ sự quan tâm của họ bằng cách đăng ký một hoặc nhiều kênh và họ sẽ nhận được tin nhắn chỉ được xuất bản đến các kênh đó mà không cần biết người gửi (nhà xuất bản) đã gửi tin nhắn nào. .
Theo thuật ngữ của Redis, người gửi tin nhắn được gọi là Nhà xuất bản khi họ xuất bản tin nhắn lên một kênh và người nhận tin nhắn được gọi là Người đăng ký khi họ đăng ký một hoặc nhiều kênh để sử dụng tin nhắn. Một tin nhắn có thể chứa bất kỳ loại thông tin nào, nó có thể là một tin nhắn văn bản đơn giản hoặc có thể là một thông tin về một nhiệm vụ. Người đăng ký có thể đăng ký bất kỳ số lượng kênh nào và nhà xuất bản có thể đăng thông điệp của mình lên bất kỳ kênh nào.
Việc tách nhà xuất bản và người đăng ký này cho phép khả năng mở rộng và tính linh hoạt.
Redis Pub Sub không liên quan đến cơ sở dữ liệu Redis Key-Value. Nó không can thiệp vào nó ở bất kỳ cấp độ nào, bao gồm cả số cơ sở dữ liệu. Vì vậy, ví dụ:nếu nhà xuất bản xuất bản một tin nhắn trên db chỉ mục 10, thì người đăng ký trên db chỉ mục 1 sẽ nhận được tin nhắn.
Redis Pub Sub Commands:-
Tất cả các lệnh quan trọng liên quan đến redis pub sub như sau:-
S.Không | Lệnh | Mô tả |
---|---|---|
1 | PSUBSCRIBE | Đăng ký một hoặc nhiều kênh phù hợp với mẫu nhất định |
2 | PUBSUB | Cho biết trạng thái của hệ thống Pub / Sub |
3 | PUBLISH | Xuất bản thông báo lên kênh cụ thể |
4 | PUNSUBSCRIBE | Hủy đăng ký một hoặc nhiều kênh phù hợp với mẫu nhất định |
5 | ĐĂNG KÝ | Đăng ký một hoặc nhiều kênh |
6 | UNSUBSCRIBE | Hủy đăng ký một hoặc nhiều kênh |
Ví dụ:-
Trong ví dụ này, chúng tôi sẽ sử dụng ba trường hợp redis-cli khác nhau để chứng minh hệ thống phụ redis pub nơi một khách hàng đăng ký hai kênh C1 và C2 và hai ứng dụng khách khác đang xuất bản thông báo lên kênh C1 và Kênh C2 tương ứng.
1. Khách hàng đầu tiên đăng ký C1 và C2 kênh
2. Khách hàng thứ hai đang xuất bản Xin chào nhắn tin tới kênh C1
3. Khách hàng thứ ba đang xuất bản Thế giới nhắn tin tới kênh C2
4. Ứng dụng khách đầu tiên hiển thị các thông báo được đẩy từ kênh C1 và C2
Tài liệu tham khảo:-
- Xuất bản Tài liệu Lệnh phụ
Nếu bạn thích nó, hãy chia sẻ suy nghĩ của bạn trong phần bình luận và chia sẻ nó với những người khác.