Vì vậy, mỗi "người dùng" nên có ứng dụng khách redis của riêng họ trong sự kiện kết nối. Tôi nói đúng chứ?
Trên thực tế, bạn không :)
Vấn đề là node.js rất không giống với PHP, chẳng hạn. node.js không tạo ra các quy trình con trên các kết nối mới, đó là một trong những lý do chính khiến nó có thể dễ dàng xử lý lượng lớn kết nối đồng thời, bao gồm cả các kết nối lâu đời (Comet, Websockets, v.v.). node.js xử lý các sự kiện một cách tuần tự bằng cách sử dụng một hàng đợi sự kiện trong một quy trình duy nhất. Nếu bạn muốn sử dụng một số quy trình để tận dụng các máy chủ đa lõi hoặc nhiều máy chủ, bạn sẽ phải thực hiện theo cách thủ công (mặc dù vậy, cách làm như vậy nằm ngoài phạm vi của câu hỏi này).
Do đó, việc sử dụng một kết nối Redis (hoặc MySQL) duy nhất để phục vụ một lượng lớn khách hàng là một chiến lược hoàn toàn hợp lệ. Điều này tránh được chi phí khởi tạo và chấm dứt kết nối cơ sở dữ liệu cho mỗi yêu cầu của khách hàng.