zoukankan      html  css  js  c++  java
  • Redis 发布订阅用法

    一、发布订阅模型
    发布订阅其作用是为了减少依赖关系,通常也叫观察者模式。主要是把耦合点单独抽离出来作为第三方,隔离易变化的发送方和接收方。

    发送方:只负责向第三方发送消息。(杂志社把读者杂志交给邮局)
    接收方:被动接收消息。(1:向邮局订阅读者杂志,2:去门口接邮过来的杂志)
    第三方:存储订阅杂志的接收方,并在杂志过来时送给接收方。 (邮局)

    二、redis中的发布订阅
    redis实现完整的发布订阅范式,就是说任何一台redis服务器,启动后都可以当做发布订阅服务器。

    1、普通订阅
    a、订阅bar频道。格式:subscribe name1 name2。
    成功订阅回复,分别对应订阅类型、订阅频道、订阅数量。

    b、发布bar频道。格式:publish channelname message。

    c、订阅bar频道的回复,分别对应消息类型,频道,消息。

    2、模式订阅
    redis支持模式匹配订阅,*为模糊匹配符。
    订阅所有频道的消息:psubscribe *
    订阅以news.开头的所有频道:psubscribe news.*

    3、取消订阅
    取消普通订阅和取消模式订阅的命令。

    unsubscribe bar
    punsubscribe ba*
    取消在官方提供的连接工具中无法模拟的。

    4、查看订阅信息
    命令:pubsub channels [pattern],查看订阅消息是redis在2.8中新增加的命令之一。

    4.1、返回当前服务器被订阅的所有频道。
    127.0.0.1:6379> pubsub channels
    1) "bar"

    4.2、指定匹配参数,返回与模式匹配的所有频道。
    127.0.0.1:6379> pubsub channels ba*
    1) "bar"

    4.3、接受任意多个频道作为输入参数,返回这些频道的订阅者数量。
    127.0.0.1:6379> pubsub numsub bar bar2
    1) "bar"
    2) (integer) 1
    3) "bar2"
    4) (integer) 0

  • 相关阅读:
    【题解】SDOI2015序列统计
    【合集】有标号的DAG图计数(合集)
    【题解】有标号的DAG计数4
    【题解】有标号的DAG计数3
    【题解】有标号的DAG计数2
    【题解】有标号的DAG计数1
    【题解】歌唱王国(概率生成函数+KMP)+伦讲的求方差
    【题解】CTS2019珍珠(二项式反演+卷积)
    【题解】餐巾计划问题
    【题解】数字梯形问题
  • 原文地址:https://www.cnblogs.com/linjiqin/p/5733183.html
Copyright © 2011-2022 走看看