Redis 的 PUBLISH 命令将信息 message 发送到指定的频道 channel 。
192.168.98.70:6379> PUBLISH channel message
参数 | 描述 |
---|---|
channel | 要发送命令的频道。 |
message | 要发送的命令。 |
接收到信息 message 的订阅者数量。
O(N+M),其中 N 是频道 channel 的订阅者数量,而 M 则是使用模式订阅(subscribed patterns)的客户端的数量。
>= 2.0.0
使用 PUBLISH 命令,对没有订阅者的频道发送信息
192.168.98.70:6379> PUBLISH module "no data" (integer) 0
使用 PUBLISH 命令,向没有被订阅的频道发送信息,返回 0。
使用 PUBLISH 命令,对一个被订阅者的频道发送信息
# client-1
192.168.98.70:6379> SUBSCRIBE module
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "module"
3) (integer) 1 # 被阻塞
# client-2
192.168.98.70:6379> SUBSCRIBE module
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "module"
3) (integer) 1 # 被阻塞
# client-3
192.168.98.70:6379> PUBLISH module html
(integer) 2
# client-1
1) "message"
2) "module"
3) "html"
# client-2
1) "message"
2) "module"
3) "html"
使用 SUBSCRIBE 订阅以 module 频道,此时终端被阻塞。打开另一个终端,使用 SUBSCRIBE 再次订阅以 module 频道,此时终端被阻塞。
最后,我们打开终端三,向 module 频道发消息,发完消息后,原来被阻塞的 client-1 和 client-2 都收到了消息。
Redis 的 PUBLISH 命令将信息 message 发送到指定的频道 channel 。Redis PUBLISH 命令语法:
192.168.98.70:6379> PUBLISH channel message