文章更新时间:2020/04/22

一、简介

  • Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。
  • Redis 客户端可以订阅任意数量的频道。

借用网上两张图来说明发布订阅的流程:

订阅服务

  下图展示了三个客户端:client2 ,client5 和 client1分别订阅频道:channel1的流程

推送消息

  当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端:

二、实例解析

启动Redis服务器

创建会话

  打开一个客户端,并创建一个名为redisChat的消息会话频道

创建消息订阅者(消费者)

  按照以下步骤打开3个客户端,并同时订阅频道redisChat

发布消息

  我们可以发现,刚才订阅了消息的3个消费者都消费到消息了

三、发布订阅的常用命令

##订阅/创建某个频道
SUBSCRIBE 频道名

##订阅某个频道【可以配置匹配模式,类似sql的like条件】
PSUBSCRIBE 频道名 ##发布消息到某个频道
PUBLISH 频道 消息 ##退订某个频道
UNSUBSCRIBE 频道名

##查看频道的订阅和发布状态
PUBSUB CHANNELS

最新文章

  1. C#函数式编程之序列
  2. 用canvas开发H5游戏小记
  3. php源码之计算两个文件的相对路径
  4. admob 广告Android不显示
  5. ROS程序编辑器
  6. JavaScript 编写多线程代码引用Concurrent.Thread.js(转)
  7. hibernate 超级牛x的公共类
  8. 内存管理、ARC
  9. 正则匹配:Email 密码强度 身份证 手机号 日期 数字每4个字空一格等
  10. [转] 小tip: 使用CSS将图片转换成黑白(灰色、置灰) ---张鑫旭
  11. poj Fishnet
  12. Ubuntu 报错 sudo: unable to resolve host
  13. Struts2实现文件上传(三)
  14. Python3学习笔记十八
  15. rds
  16. WordPress建站指南(1)
  17. springBoot2 基础语法
  18. tomcat 9.0.4 性能调优
  19. QtQuickcontrols2控件使用参考
  20. LINQ 系列

热门文章

  1. oracle replace的用法
  2. python中a, b = a, a + b这条语句是如何执行的?
  3. Java 将Html转为PDF
  4. 如何检查nofollow超链接属性是否有效
  5. python_选择排序
  6. PyQt5+Caffe+Opencv搭建人脸识别登录界面
  7. e3mall商城的归纳总结10之freemarker的使用和sso单点登录系统的简介
  8. 1. 不吹不擂,第一篇就能提升你对Bean Validation数据校验的认知
  9. label 的autosize属性
  10. C# Chart各个属性详细解析、应用