redis高级应用-公布与订阅

一、公布与订阅(pub/sub)功能

二、公布与订阅(pub/sub)机制

三、redis公布与订阅(pub/sub)的实现

一、公布与订阅(pub/sub)功能

Pub/Sub功能(meansPublish, Subscribe)即公布及订阅功能。基于事件的系统中,Pub/Sub是眼下广泛使用的通信模型。它採用事件作为主要的通信机制。提供大规模系统所要求的松散耦合的交互模式:订阅者(如client)以事件订阅的方式表达出它有兴趣接收的一个事件或一类事件;公布者(如server)可将订阅者感兴趣的事件随时通知相关订阅者

公布/订阅的简易模型例如以下图所看到的:

二、公布与订阅(pub/sub)类别

1、时间非耦合:公布者和订阅者不必同一时候在线,它们不必同一时候參与交互

2、空间非耦合:公布者和订阅者不必相互知道对方所在的位置。

公布者通过事件服务公布事件,订阅者通过事件服务间接获得事件。公布者和订阅者不须要拥有直接到对方的引用。也不必知道有多少个订阅者或者是公布者參与交互

3、同步非耦合:公布者/订阅者是异步模式。公布者可不断地生产事件。而订阅者(通过一个回调)则可异步地得到产生事件的通知

总结:

Pub/Sub是可适用于可扩展要求高、松散耦合系统的分布式交互模型。

在抽象层中,它的时间非耦合、空间非耦合和同步非耦合性可同意參与者不依赖还有一个而独立操作,具有一定的可扩展性;然而在实现层,可扩展性仍受其它原因的牵制。

比如:1、灵活的订阅要求复杂的过滤和路由算法。

        2、高可用性开销(事件侦听、日志重传);

        3、消息认可带来的网络流量消耗。

        4、庞大的订阅者数据带来的系统开销;

基于事件的Pub/Sub中间件的开发与利用在一定程度上能够提高系统的效率

三、redis公布与订阅(pub/sub)的实现

redis 通过 publish 、subscribe、unsubscribe等命令实现了订阅与公布模式。 这个功能提供两种信息机制,各自是订阅/公布到频道和订阅/公布到模式。在这个实现中。 发送者(发送信息的client)不是将信息直接发送给特定的接收者(接收信息的client),而是将信息发送给频道(channel)或模式。 然后由频道/模式将信息转发给全部对这个频道感兴趣的订阅者

1、publish、subscribe、unsubscribe、psubscribe、punsubscribe命令说明

a、subscribe:订阅频道

b、unsubscribe:退订频道

c、publish:往某个频道,公布消息

d、psubscribe: 订阅模式频道

e、punsubscribe: 退订模式频道

2、频道的订阅与信息公布简单实例

(备注: 订阅端订阅频道one,然后再公布端公布消息’hello world’,此时。订阅端就会显示公布的消息. )

3、基于模式的订阅与信息公布简单实例

4、消息格式

4.1、假设是订阅频道。则返回消息类型(message),频道名称、详细消息内容

4.2、假设是基于模式,则返回消息类型(pmessage)、模式名称、详细频道名称、详细消息内容

5、理解订阅频道和订阅模式

订阅频道,client则须要指明详细对应订阅的频道的名称。相反。订阅模式,client能够订阅一个带 * 号的模式。 假设某个/某些频道的名字和这个模式匹配, 那么当有信息发送给这个/这些频道的时候, client也会收到这个/这些频道的信息

小贝_redis高级应用-公布与订阅相关推荐

  1. 程序员们请别做下一个小贝

    据网友提供的<蜗居>第24集3:30秒截图,有理由相信小贝是搞 C++ 的 那本书是<大规模C++程序设计> -- 历史上一定有那么一些人,没有名,没有钱,只是和爱人一起过完了 ...

  2. 【系统架构设计师】软考高级职称,来自订阅者真实反馈,从理论、实践、技巧让你掌握论文写作秘诀

    [系统架构设计师]软考高级职称,来自订阅者真实反馈,从理论.实践.技巧让你掌握论文写作秘诀. 目录 对于系统架构设计师的论文写作几点建议 论文摘要 论文正文 论文结尾 关于[系统架构设计师]备战,我想 ...

  3. 4年级计算机 设计贺卡教案,四年级上册信息技术《小贝的贺卡》教学设计

    四年级上册信息技术<小贝的贺卡>教学设计 一.教学内容: 教科书第40页至43页 二.教学目标 1. 知识目标: 学会综合运用word中图片.艺术字.文本框.自选图形等制作贺卡. 2. 能 ...

  4. 35岁小贝荣膺终身成就奖

    今晚刚刚在优酷上看体育新闻的时候看到的. 35岁小贝荣膺终身成就奖 恭喜小贝获得终身成就奖. 我记得我高中的时候,这个男人就已经势不可挡风靡全球了.那个时候我们班几个爱踢球的同学对他还产生过不少争执. ...

  5. 程序员界大杯具:蜗居中的小贝是搞C++ 的 !

    据网友提供的<蜗居>第24集3:30秒截图,有理由相信小贝是搞 C++ 的. 桌子上那本书放大看是<大规模Cpp程序设计>,为无数想为 cpp献身的人士叹惜呀.搞了一辈子C++ ...

  6. 湘教云实名服务平台怎样认证_【i通知】小贝喊你来校园一卡通微信支付实名认证!...

    随着北理珠校内食堂一卡通 全面支付微信支付的普及 我们的一卡通信息安全也愈发重要 为了保护大家的校园信息安全且便于管理 学校让各位同学们 完成校园一卡通微信支付实名登记 快来跟着小贝来看看 究竟是怎么 ...

  7. 微信小程序通过微信群发消息(订阅消息)

    微信小程序通过微信群发消息(订阅消息):(这个是云开发的教程,可能对于http的不适用) 一.怎么实现这个功能: 1.在微信公众号平台上面开启功能 先完善小程序的信息,才能开通这个功能 这一步前面还有 ...

  8. 微信小程序云开发定时推送订阅消息

    微信小程序云开发定时推送订阅消息 1.找到自己想要的模板 (1)点击订阅消息 (2)点击公共模板库,然后找到想要选用的模板,点击选用. (3)在我的模板里面,复制模板id. 如果找不到想要用的模板,可 ...

  9. 360悬浮球-小贝常规样式

    一.效果图 二.效果图拆解 根据效果图上显示,常规模式的小贝是由多个同心圆组成的,最外圈是一个圆圈,然后是一个白色的圆环,圆环上绘制渐变色进度条,再里面是一个边缘向中心渐变的圆形渐变圆,最中间的文字是 ...

  10. 队友揭秘小贝更衣室落泪 有望效仿卡纳瓦罗参加世界杯

    在芬兰古城图尔库,英格兰人断裂的左脚跟腱被重新修复.对世界上最著名的运动伤病治疗专家奥拉瓦来说,这类手术已是司空见惯.他的发言是如此简短和残酷:"手术一切顺利.但世界杯,他肯定没办法赶上.& ...

最新文章

  1. Master Data makes SAP Retail special
  2. 小白学统计(4)——数据集中趋势的描述
  3. 7.Eclipse中创建新Maven项目
  4. mybatis mysql 分表_Mybatis的分表实战
  5. Sparse Feature Learning
  6. 3个阶段 项目征名_萧山日报数字报-蓝城萧立7大代建项目征名开启
  7. dedecms 添加,编辑文章时 文章标题有字数限制的解决办法。
  8. 微软物联网服务器,靠近物联网 微软发布定制 Linux内核
  9. 通过hosts文件配置域名ip
  10. 文献阅读笔记:北极气溶胶与气候
  11. Android Material-dialogs的使用(kotlin)
  12. 【学习笔记】【MAC】sdk自带uiautomatorviewer启动报错问题解决
  13. 压缩文件并删除源文件
  14. java 判断汉字_Java 完美判断中文字符的方法
  15. 你有你的计划,世界另有计划这本书 万维钢
  16. WHQL徽标认证申请流程
  17. 【国内博客】国内常见的 博客 主页 (IT)
  18. Linux系统中的mount挂载命令及参数详解
  19. 队列 如何 判断 已满
  20. BBP算法计算圆周率(BBP Formula HDU - 6217)

热门文章

  1. 20145238-荆玉茗 《网络对抗》免杀原理与实践
  2. Repeater——数据库控件学习
  3. 统计表中有无数据并发送邮件
  4. logo设计好坏的12个标准
  5. Visual Studio Debug Practice
  6. Numpy学习笔记(三)
  7. 结对第一次—原型设计
  8. xtrabackup 备份
  9. 执行quartz报错java.lang.NoClassDefFoundError: javax/transaction/UserTransaction
  10. CI 笔记 easyui 结合后,左侧导航跳转问题