2012-10-19 54 views
2

如果兩個獨立的客戶端在同一個頻道上發佈PUBLISH,我是否可以假設訂閱者通知的順序將得到尊重?Redis發佈和消息順序

  • 所有訂戶收到拳頭PUBLISH味精
  • 那麼所有sunbscribers收到第二條?

由於redis是單線程的,它應該但我想確保它不會同時處理兩個PUBLISH。

回答

4

是的,PUBLISH是一個同步命令。它不會返回,直到它將消息推送給所有用戶。而且不同的PUBLISH命令在Redis請求隊列中自然被序列化。

時間複雜度:O(N + M)其中,N是訂閱了接收信道的客戶端的數量,M是訂閱圖案的總數(通過任何客戶端)。