Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Stackexchange.Redis, can I publish to multiple channels at once?

Can I publish messages to several channels within the same command using the glob-style pattern, such as Connection.GetSubscriber().Publish("room/*", "my message") and the message gets published to all channels that match the pattern?

Maybe the above question makes little to no sense in case I misunderstand the basic pub/sub pattern in Redis. My understanding is that each Subscribe command establishes a channel on the Redis server and hence the channels Ids are known to the server and hence when the server receives a publish command that it should have the ability to "fan out" published messages to all channels that match the glob-style pattern. Please correct if I am wrong.

Additional question, I assume I can also subscribe to multiple channels using the glob-style pattern, correct?

Thanks

like image 321
Matt Avatar asked Dec 26 '22 10:12

Matt


1 Answers

You can subscribe to pattern-based channel subscriptions, but when you publish you are publishing to a single channel name. All matching subscriptions (whether specific or pattern-based) will receive the message. There is no "fan out", other than the glob-based subscriptions.

like image 137
Marc Gravell Avatar answered Jan 14 '23 07:01

Marc Gravell