Redis PUBLISH和消息顺序

时间:2012-10-19 07:46:14

标签: redis real-time

如果两个独立的客户在同一频道上进行了PUBLISH,我是否可以假设将通知订阅者的通知顺序?

  • 所有订阅者都收到第一个PUBLISH消息
  • 然后所有sunbscribers收到第二个?

因为redis是单线程的,所以我应该确保它不会并行处理两个PUBLISH。

1 个答案:

答案 0 :(得分:4)

是的,PUBLISH是一个同步命令。在将消息推送给所有订阅者之前,它不会返回。并且在Redis请求队列中自然序列化了不同的PUBLISH命令。

  

时间复杂度:O(N + M)其中N是订阅接收频道的客户端数量,M是订阅模式的总数(由任何客户端)。