Redis PUBLISH命令

Redis PUBLISH命令教程

Redis 的 PUBLISH 命令将信息 message 发送到指定的频道 channel 。

Redis PUBLISH命令详解

语法

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命令总结

Redis 的 PUBLISH 命令将信息 message 发送到指定的频道 channel 。Redis PUBLISH 命令语法:

192.168.98.70:6379> PUBLISH channel message