Ứng dụng khách Redis không tạo thêm bất kỳ chuỗi clent nào và hoạt động trong chuỗi hiện có.
Redis đã làm việc trong một quy trình (chính) khác. API redis mà bạn sử dụng đã hoạt động trong quy trình cục bộ của bạn và sử dụng giao tiếp giữa các quy trình với quy trình chính. Yêu cầu không đồng bộ có nghĩa là quy trình hoặc chuỗi của bạn đặt nhiệm vụ cho một nhiệm vụ khác và sau đó có thể thực hiện bất kỳ tác vụ yout nào khác hoặc sự kiện chờ. Một thời gian sau, trả lời không đồng bộ đến ứng dụng của bạn và có sẵn để sử dụng. Ứng dụng của bạn phải sử dụng https://en.wikipedia.org/wiki/Event_loop hoặc bất kỳ hệ thống quản lý không đồng bộ nào thông báo cho bạn bằng cách gọi callback để xử lý sự kiện (trong trường hợp này là redis answer).
Kiến trúc không đồng bộ có nghĩa là bạn chạy vòng lặp sự kiện gọi các trình xử lý gọi lại cho mỗi sự kiện. Khi gọi lại được gọi, bạn có thể tạo số lượng tác vụ không đồng bộ. Sau khi tác vụ được tạo, nó được cho là khi tác vụ hoàn thành hoặc xảy ra lỗi, trình xử lý sự kiện gọi lại sẽ được gọi. Gọi lại có thể được chỉ định để khởi động ứng dụng hoặc xuất hiện kết nối web mới. Khi cuộc gọi lại được gọi, bạn có thể tạo tác vụ redis và lệnh gọi lại sự kiện kết quả sau này sẽ được gọi. Tất cả những thứ trong chủ đề hiện tại. Tôi chắc chắn bạn có nhiều luồng, hợp lý để mong đợi rằng bạn có một vòng lặp sự kiện cho mỗi luồng.
Bản chất luồng đơn của Redis:http://redis.io/topics/latency#single-threaded-nature-of-redis
Ổ cắm máy khách được đặt ở trạng thái không chặn vì Redis sử dụng ghép kênh và I / O không chặn. http://redis.io/topics/clients Điều này có nghĩa là khách hàng của bạn sẽ không bao giờ bị chặn.
Từ các luồng Redis 2.4 trong Redis chỉ được sử dụng để thực hiện một số hoạt động I / O chậm trong nền, chủ yếu liên quan đến I / O đĩa, nhưng điều này không thay đổi thực tế là Redis phục vụ tất cả các yêu cầu bằng cách sử dụng một luồng duy nhất.