Redis 简明教程
Redis - Publish Subscribe
Redis Pub/Sub 实现消息系统,其中发送者(在 redis 术语中称为发布者)发送消息,而接收者(订阅者)收到消息。传输消息的链接称为 channel 。
Redis Pub/Sub implements the messaging system where the senders (in redis terminology called publishers) sends the messages while the receivers (subscribers) receive them. The link by which the messages are transferred is called channel.
在 Redis 中,客户端可以订阅任意数量的频道。
In Redis, a client can subscribe any number of channels.
Example
下面的示例解释了发布订阅概念的工作原理。在以下示例中,一个客户端订阅名为“redisChat”的频道。
Following example explains how publish subscriber concept works. In the following example, one client subscribes a 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
现在,两个客户端正在一个名为“redisChat”的通道上发布消息,并且上面订阅的客户端正在接收消息。
Now, two clients are publishing the messages on the same channel named ‘redisChat’ and the above subscribed client is receiving messages.
redis 127.0.0.1:6379> PUBLISH redisChat "Redis is a great caching technique"
(integer) 1
redis 127.0.0.1:6379> PUBLISH redisChat "Learn redis by tutorials point"
(integer) 1
1) "message"
2) "redisChat"
3) "Redis is a great caching technique"
1) "message"
2) "redisChat"
3) "Learn redis by tutorials point"
Redis PubSub Commands
下表列出了一些与 Redis Pub/Sub 相关的基本命令。
Following table lists some basic commands related to Redis Pub/Sub.
Sr.No |
Command & Description |
1 |
PSUBSCRIBE pattern [pattern …]Subscribes to channels matching the given patterns. |
2 |
PUBSUB subcommand [argument [argument …]]Tells the state of Pub/Sub system. For example, which clients are active on the server. |
3 |
PUBLISH channel messagePosts a message to a channel. |
4 |
PUNSUBSCRIBE [pattern [pattern …]]Stops listening for messages posted to channels matching the given patterns. |
5 |
SUBSCRIBE channel [channel …]Listens for messages published to the given channels. |
6 |
UNSUBSCRIBE [channel [channel …]]Stops listening for messages posted to the given channels. |