发布订阅

  • 发布者不是计划发送消息给特定的接收者(订阅者),而是发布的消息分到不同的频道,不需要知道什么样的订阅者订阅
  • 订阅者对一个或多个频道感兴趣,只需接收感兴趣的消息,不需要知道什么样的发布者发布的
  • 发布者和订阅者的解耦合可以带来更大的扩展性和更加动态的网络拓扑
  • 客户端发到频道的消息,将会被推送到所有订阅此频道的客户端
  • 客户端不需要主动去获取消息,只需要订阅频道,这个频道的内容就会被推送过来

消息的格式

  • 推送消息的格式包含三部分
  • part1:消息类型,包含三种类型
    • subscribe,表示订阅成功
    • unsubscribe,表示取消订阅成功
    • message,表示其它终端发布消息
  • 如果第一部分的值为subscribe,则第二部分是频道,第三部分是现在订阅的频道的数量
  • 如果第一部分的值为unsubscribe,则第二部分是频道,第三部分是现在订阅的频道的数量,如果为0则表示当前没有订阅任何频道,当在Pub/Sub以外状态,客户端可以发出任何redis命令
  • 如果第一部分的值为message,则第二部分是来源频道的名称,第三部分是消息的内容

命令

  • 订阅
SUBSCRIBE 频道名称 [频道名称 ...]
  • 取消订阅
  • 如果不写参数,表示取消所有订阅
UNSUBSCRIBE 频道名称 [频道名称 ...]
  • 发布
PUBLISH 频道 消息

主从配置

  • 一个master可以拥有多个slave,一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构
  • 比如,将ip为192.168.1.10的机器作为主服务器,将ip为192.168.1.11的机器作为从服务器
  • 设置主服务器的配置
bind 192.168.1.10
  • 设置从服务器的配置
  • 注意:在slaveof后面写主机ip,再写端口,而且端口必须写
bind 192.168.1.11
slaveof 192.168.1.10 6379
  • 在master和slave分别执行info命令,查看输出信息
  • 在master上写数据
set hello world
  • 在slave上读数据
get hello

Redis的发布订阅与主从配置相关推荐

  1. redis的发布订阅缺陷

    虽然redis实现了发布订阅(publish/subscribe)的功能,但是在通常的情况下是不推荐使用的,如果想使用消息队列这种功能,最好还是使用专业的各种MQ中间件,例如rabbitMQ,rock ...

  2. SpringBoot整合redis实现发布订阅模式

    Redis的发布订阅模式 发布订阅(Pub/Sub):目前广泛使用的通信模型,它采用事件作为基本的通信机制,提供大规模系统所要求的松散耦合的交互模式:订阅者(如客户端)以事件订阅的方式表达出它有兴趣接 ...

  3. Spring boot整合Redis实现发布订阅(超详细)

    Redis发布订阅 基础知识 相关命令 订阅者/等待接收消息 发布者/发送消息 订阅者/成功接收消息 常用命令汇总 原理 Spring boot整合redis 导入依赖 Redis配置 消息封装类(M ...

  4. Redis的发布订阅模式

    本文源码参看:https://github.com/duktig666/learn-example/tree/5586febea31c2fb368e19fbdba11ed08afd463e0/Redi ...

  5. 【springboot】【redis】springboot+redis实现发布订阅功能,实现redis的消息队列的功能...

    springboot+redis实现发布订阅功能,实现redis的消息队列的功能 参考:https://www.cnblogs.com/cx987514451/p/9529611.html 思考一个问 ...

  6. 4 Redis的发布订阅

    Redis 的发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息 Redis 客户端可以订阅任意数量的频道. 先订阅后发布才能收到消息 1 打开一个客户端 ...

  7. .net core 使用Redis的发布订阅

    Redis是一个性能非常强劲的内存数据库,它一般是作为缓存来使用,但是他不仅仅可以用来作为缓存,比如著名的分布式框架dubbo就可以用Redis来做服务注册中心.接下来介绍一下.net core 使用 ...

  8. java实现Redis消息发布订阅

    Redis发布订阅架构 Redis提供了发布订阅功能,可以用于消息的传输,Redis的发布订阅机制包括三个部分,发布者,订阅者和Channel. 发布者和订阅者都是Redis客户端,Channel则为 ...

  9. Redis 实现 发布/订阅 消息对列

    Redis实现 发布/订阅 消息对列 前言 发布订阅是一种典型的异步通信模型,可以让消息的发布者和订阅者充分解耦 一.什么是发布/订阅 Redis 发布订阅 (pub/sub) 是一种消息通信模式:发 ...

最新文章

  1. iOS使用Security.framework进行RSA 加密解密签名和验证签名
  2. 能详细地讲讲stm32该怎么学吗?
  3. yolov5转tensorrt c++
  4. oracle proedure 文件_关于oracle存储过程读取文件
  5. Paper:Xavier参数初始化之《Understanding the difficulty of training deep feedforward neural networks》的翻译与解读
  6. [计算机视觉]人脸应用:人脸检测、人脸对比、五官检测、眨眼检测、活体检测、疲劳检测
  7. 模块-开发原则以及导入文件时会执行没有缩进的代码
  8. tomcat装死原因汇总
  9. C#操作Office.word(三)
  10. zip unzip_zip和unzip上的Java要点
  11. angular的性能分析 -随记
  12. python sqlalchemy core
  13. Session和EL表达式实现登陆验证
  14. 安装PyQt5安装包或者其他操作,报错Failed to execute script pyi_rth_multiprocessing,解决办法
  15. 重现Struts1的操纵classLoader漏洞
  16. LaTeX报错解决办法:arithmetic: number too big ! Dimension too large.
  17. Springboot启动流程详解
  18. 2022年湖南省自考考试幼儿园教育活动设计与组织练习题及答案
  19. CODEVS 1258 关路灯
  20. 浏览器地址栏输入url到显示主页的过程

热门文章

  1. 演示:外部全局地址与外部局部地址的使用案例
  2. C# 实现连连看功能
  3. [Python爬虫] 之二十七:Selenium +phantomjs 利用 pyquery抓取今日头条视频
  4. 关于SEL的简单总结
  5. mysql语句修改zencart产品原价为特价的倍数
  6. DXP 内电层分割
  7. 实现可折叠的分组tableview
  8. ORACLE中date类型字段的处理
  9. 使用CSS控制段落首行缩进
  10. 给控件做数字签名之三:进行数字签名