博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis发布订阅实现原理
阅读量:6847 次
发布时间:2019-06-26

本文共 615 字,大约阅读时间需要 2 分钟。

发布订阅中使用到的命令就只有三个:PUBLISH,SUBSCRIBE,PSUBSCRIBE

  • PUBLISH 用于发布消息
  • SUBSCRIBE 也叫频道订阅,用于订阅某一特定的频道
  • PSUBSCRIBE 也叫模式订阅,用于订阅某一组频道,使用glob的方式,比如xxx-*可以匹配xxx-a,和xxx-b,xxx-ddd等等

订阅频道: pubsub_channels

449064-20151010171636581-1404085038.png

关联操作:

  • 如果已经存在订阅者,则添加到链表的尾部
  • 如果没有订阅者,那么创建频道,然后添加订阅者

删除操作:

  • 找到对应的链表,进行删除
  • 如果删除后,链表为空,则删除频道

模式订阅: pubsub_patterns

client-7订阅music.*client-8订阅book.*client-9订阅news.*

449064-20151010171644940-1270908200.png

订阅模式:

  • 新建一个pubsubPattern结构
  • 添加到链表的尾部

退订模式:

  • 查找相应的pubsubPattern然后删除

发送消息:

  • 将消息发送给channel频道的所有订阅者
  • 遍历整个pubsub_patterns表,查找匹配的模式,如果有一个或者多个模式与频道匹配,将消息发送给pattern模式的订阅者

相关命令:

  • 查看所有的频道:PUBSUB CHANNELS
  • 查询订阅者的数量:PUBSUB NUMSUB
  • 查询服务器被订阅者的数量:PUBSUB NUMPAT
本文转自博客园xingoo的博客,原文链接:,如需转载请自行联系原博主。
你可能感兴趣的文章
webApp路由控制-vue-router2.0
查看>>
PyQT实现扩展窗口,更多/隐藏
查看>>
阿里巴巴最新开源项目 - [HandyJSON] 在Swift中优雅地处理JSON
查看>>
怎样使视图的标签是波浪形
查看>>
国际版本Office365与国内版本office365的功能介绍
查看>>
网络安全系列之二十七 利用MicroSoft Private Folder加密文件
查看>>
VMware vSphere 5.1 群集深入解析(二十八)- vSphere配置
查看>>
主流的深度学习模型有哪些?
查看>>
HTML语言教程电子书下载 By思念狗的骨头
查看>>
Python进行URL解码
查看>>
Flash播放mp4的两个问题:编码问题和需要下载完后才能播放的问题
查看>>
Ubuntu环境变量解析
查看>>
说说JSON和JSONP,也许你会豁然开朗(转)
查看>>
final关键字的应用
查看>>
4.5. synctool
查看>>
【Linux】linux命令大全
查看>>
Linux busybox mount -a fstab
查看>>
j中的substr(start,length)和substring(start,stop)
查看>>
基于MVC4+EasyUI的Web开发框架形成之旅--总体介绍
查看>>
第 1 章 Developer & Programming language
查看>>