我的思维模型是“聊天”的模型,我订阅了某个频道,然后可以向该频道发布消息。
由于pub / sub是异步的,因此已发布的消息可能会在任何时间出现,包括您期望命令响应的时间。
尽管redis是单线程的,通常可以防止这种情况,但是网络延迟可能会引起一些有趣的效果-根据消息的内容,您可以在服务器实际收到命令之前收到对命令的有效响应。
就是说,如果您确实想使用- 可能应该使用单个连接-“应该”与“不能”不相同,并且redis遵循一种简单的设计理念,即不试图阻止您用脚射击。但是,仅打开与服务器的两个连接要容易得多。如果您达到每个客户端两个连接的连接限制,那么您可能很快就会遇到每个客户端一个连接的问题。