[Redis学习笔记]-Redis 发布订阅(充当消息组件)

来源:互联网 发布:淘宝空间图片协议 编辑:程序博客网 时间:2024/06/05 17:15

Redis 发布订阅

Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。
Redis 客户端可以订阅任意数量的频道。


image

当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端:


image

Redis 发布订阅命令

下表列出了 redis 发布订阅常用命令:

PSUBSCRIBE pattern [pattern …]

订阅一个或多个符合给定模式的频道。

127.0.0.1:6379>psubscribe msg 1)  "psubscribe" 2)  "msg" 3)  "2"

PUBSUB subcommand [argument [argument …]]

查看订阅与发布系统状态。

127.0.0.1:6379>pubsub channels 1)  "msg"127.0.0.1:6379>pubsub channels msg* 1)  "msg"

PUBLISH channel message

将信息发送到指定的频道。

127.0.0.1:6379> publish msg "hello""1"

PUNSUBSCRIBE [pattern [pattern …]]

退订所有给定模式的频道。

127.0.0.1:6379 >punsubscribe msg 1)  "punsubscribe" 2)  "msg" 3)  "0"

SUBSCRIBE channel [channel …]

订阅给定的一个或多个频道的信息。

127.0.0.1:6379> SUBSCRIBE msgReading messages... (press Ctrl-C to quit)1) "subscribe"2) "msg"3) (integer) 1

UNSUBSCRIBE [channel [channel …]]

退订给定的频道。

127.0.0.1:6379> UNSUBSCRIBE msg 1)  "unsubscribe" 2)  "msg" 3)  "0"

实例

订阅频道

redis:0>pubsub channels 1)  "msg"redis:0>pubsub channels msg* 1)  "msg"

新开客户端,向指定频道发送消息:

redis:0>publish msg "hello""1"

定位频道的客户端将收到消息:

1) "message"2) "msg"3) "hello"1) "message"2) "msg"3) "hello"

参考资料http://www.runoob.com/redis/redis-pub-sub.html

原创粉丝点击