美文网首页
redis学习之发布与订阅

redis学习之发布与订阅

作者: 蒿子杆 | 来源:发表于2016-12-22 00:01 被阅读0次

    发布与订阅(又称pub/sub),是一种消息通信模式,特点是订阅者(listener)负责订阅频道(channel),发送者(publisher)负责向频道发送二进制字符串消息。每当有消息被发送至给定频道时,频道的所有订阅者都会收到消息。

    发布与订阅


    SUBSCRIBE(订阅给定的一个或多个频道)

    UNSUBSCRIBE(退订给定的一个或多个频道,如果执行时没有给定任何频道,那么退订所有频道)

    PUBLISH(向给定频道发送消息)

    PSUBSCRIBE(订阅与给定模式相匹配的所有频道)

    PUNSUBSCRIBE(退订给订的模式,如果执行时没有给订任何模式,那么退订所有模式)

    下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:

    简单示例


    上图中我一共开了三个窗口,第一个窗口作为发送者向频道test1发送消息,第二和第三个窗口作为订阅者订阅了频道test1,发布成功后会返回接收到这条消息的订阅者数量。发出去的消息不会被持久化,也就是说当客户端订阅test1后只能收到后续发布到该频道的消息,之前发送到就收不到了,而当没有订阅者时, 消息会被直接丢弃。


    退订后将不会受到发送者发送的消息


    redis还支持模式订阅和模式退订,*为模糊匹配符。

    订阅所有频道的消息:psubscribe *

    比如订阅以ziroom.开头的所有频道:psubscribe ziroom.*

    取消所有频道的消息:punsubscribe *

    比如取消订阅以ziroom.开头的所有频道punsubscribe ziroom*


    源码学习:15天玩转redis



    相关文章

      网友评论

          本文标题:redis学习之发布与订阅

          本文链接:https://www.haomeiwen.com/subject/uxlcvttx.html