2012-10-19 57 views
2

如果两个独立的客户端在同一个频道上发布PUBLISH,我是否可以假设订阅者通知的顺序将得到尊重?Redis发布和消息顺序

  • 所有订户收到拳头PUBLISH味精
  • 那么所有sunbscribers收到第二条?

由于redis是单线程的,它应该但我想确保它不会同时处理两个PUBLISH。

回答

4

是的,PUBLISH是一个同步命令。它不会返回,直到它将消息推送给所有用户。而且不同的PUBLISH命令在Redis请求队列中自然被序列化。

时间复杂度:O(N + M)其中,N是订阅了接收信道的客户端的数量,M是订阅图案的总数(通过任何客户端)。