2つの別々のクライアントが同じチャネルでPUBLISHを実行する場合、サブスクライバーに通知される順序が尊重されると想定できますか?
- すべてのサブスクライバーは、最初のPUBLISHメッセージを受信します
- 次に、すべての日記者は2番目を受け取りますか?
redisはシングルスレッドであるため、そうする必要がありますが、両方のPUBLISHを並行して処理しないようにしたいと思います。
はい、PUBLISH
同期コマンドです。メッセージをすべてのサブスクライバーにプッシュするまで戻りません。また、さまざまなPUBLISH
コマンドがRedisリクエストキューで自然にシリアル化されます。
時間計算量:O(N + M)ここで、Nは受信チャネルにサブスクライブされたクライアントの数であり、Mは(任意のクライアントによって)サブスクライブされたパターンの総数です。