Email và SMS giao dịch
Tin nhắn đăng ký, biên nhận và đặt lại được ứng dụng web xếp hàng và được một nhóm worker gửi đi.
Hàng đợi FIFO không làm mất công việc khi một worker chết, với producer và consumer chạy song song.
Bất kỳ dịch vụ nào cũng thêm việc mà không phải chờ consumer.
Một hướng dẫn minh họa động với các lệnh HotKV thật và phản hồi ví dụ. Nhấn vào bất kỳ bước nào để nhảy tới đó. Lệnh và phản hồi giữ nguyên bằng tiếng Anh, đúng như bạn gõ và thấy trong HotKV.
Công việc nền như email, đổi kích thước ảnh và webhook cần một hàng đợi giữa mã tạo ra nó và mã thực hiện nó. Một hàng đợi làm mất công việc khi worker sập giữa chừng còn tệ hơn không có hàng đợi, vì không ai nhận ra công việc đã biến mất.
List cho bạn một hàng đợi FIFO đơn giản. BLMOVE chuyển mỗi công việc sang một danh sách xử lý khi nó được giao cho một worker, nên một công việc đang thực hiện luôn được lưu ở đâu đó nếu worker đó biến mất. Producer và consumer được phục vụ bởi các luồng worker song song.
Bất kỳ dịch vụ nào cũng thêm việc mà không phải chờ consumer.
LPUSH queue:emails "{\"to\":\"ada@example.com\",\"tpl\":\"welcome\"}"BLMOVE chặn cho đến khi có công việc, rồi chuyển nó sang một danh sách xử lý trong một bước.
BLMOVE queue:emails queue:emails:processing RIGHT LEFT 0Email đã được gửi đi. Công việc bị xóa khỏi danh sách xử lý.
LREM queue:emails:processing 1 "{\"to\":\"ada@example.com\",\"tpl\":\"welcome\"}"Worker 2 chết giữa chừng. Công việc của nó vẫn nằm trong danh sách xử lý, không bị mất.
LRANGE queue:emails:processing 0 -1Một trình giám sát chuyển công việc bị bỏ dở về hàng đợi và một worker khác nhận nó.
LMOVE queue:emails:processing queue:emails LEFT RIGHTTin nhắn đăng ký, biên nhận và đặt lại được ứng dụng web xếp hàng và được một nhóm worker gửi đi.
Các tệp tải lên được xếp hàng để tạo ảnh thu nhỏ và chuyển mã, và một trình chuyển mã bị sập không bao giờ làm rơi một tệp.
Webhook gửi đi được xếp hàng và thử lại mà không chặn yêu cầu đã kích hoạt chúng.
LPUSH với BRPOP, và worker ngủ cho đến khi có việc.
LPUSHBRPOPBLMOVE giao mỗi công việc vào một danh sách xử lý một cách nguyên tử.
BLMOVELREMProducer và consumer được phục vụ bởi các luồng worker song song.
Với xác nhận, nhóm consumer và phát lại, hãy dùng stream.
XADDXREADGROUPNếu bạn nhận công việc bằng BLMOVE, công việc nằm trong danh sách xử lý. Một trình giám sát có thể chuyển mọi thứ ở đó quá lâu về hàng đợi.
Không. BRPOP và BLMOVE chặn cho đến khi có công việc đến, với thời gian chờ tùy chọn.
List là hàng đợi đơn giản nhất. Stream bổ sung nhóm consumer, xác nhận theo từng thông điệp và lịch sử. Xem trường hợp sử dụng truyền sự kiện.
HotKV nói giao thức Redis, nên bạn có thể trỏ một client hiện có tới nó và chạy chính những lệnh này.