A Redis Publish Subscription (PUB/SUB) is a message communication pattern: the Sender (pub) sends a message and the Subscriber (sub) receives the message.
Redis clients can subscribe to any number of channels.
Shows the relationship between channel Channel1 and the three client--client2, CLIENT5, and client1 subscribing to this channel:
When a new message is sent to channel Channel1 via the PUBLISH command, the message is sent to the three clients subscribed to it:
Instance
The following example shows how a publish subscription works. In our example we created a subscription channel named Redischat:
- Redis 127.0. 0.1:6379> SUBSCRIBE redischat
- Reading Messages... (press Ctrl-C to quit)
- 1) "Subscribe"
- 2) "Redischat"
- 3) (integer) 1
Now, we re-open a Redis client and then publish two messages on the same channel Redischat, and the Subscriber can receive the message.
- Redis 127.0. 0.1:6379> PUBLISH redischat "Redis is a great caching technique" /c2>
- (integer) 1
- Redis 127.0. 0.1:6379> PUBLISH redischat "Learn Redis by w3cschool.cc"
- (integer) 1
- # The subscriber's client will display the following message
- 1) "message"
- 2) "Redischat"
- 3) "Redis is a great caching technique"
- 1) "message"
- 2) "Redischat"
- 3) "Learn Redis by w3cschool.cc"
Redis Publish Subscription commands
The following table lists the common commands for Redis publish subscriptions:
Serial Number |
Command and Description |
1 |
Psubscribe pattern [pattern ...] subscribes to one or more channels that match a given pattern. |
2 |
PUBSUB subcommand [argument [argument ...]] View subscription and release system status. |
3 |
The PUBLISH channel message sends information to the specified channel. |
4 |
Punsubscribe [pattern [pattern ...]] unsubscribe from all channels of a given pattern. |
5 |
SUBSCRIBE Channel [Channel ...] subscribe to the information given for one or more channels. |
6 |
unsubscribe [Channel [channel ...]] means to unsubscribe from a given channel. |
Redis Publish Subscriptions