文章目录

  • 1.1 什么是发布和订阅
  • 1.2 实现pub/sub
  • 1.3 模式匹配订阅
  • 1.4 unsubscribe 取消订阅

1.1 什么是发布和订阅

   发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。

注:发布者不是计划发送消息给特定的订阅者。而是发布的消息分到不同的频道,不需要知道什么样的订阅者订阅;
  订阅者对一个或多个频道感兴趣,只需接收感兴趣的消息,不需要知道什么样的发送者发布的。
  发送者和订阅者的解耦合带来更大的扩展性和更加动态的网络拓扑。

客户端可以订阅任意数量的频道,如下图:

当给这个频道发布消息后,消息就会发送给订阅的客户端

1.2 实现pub/sub

打开一个客户端订阅channel

subscribe mychannel


打开另外2个客户端给channel发布消息

注:发布的消息没有持久化,订阅的客户端只能收到订阅后发布的消息

1.3 模式匹配订阅

   Redis 的Pub/Sub实现支持模式匹配。客户端可以订阅能匹配到给定模式的频道的消息,支持多通配符

如:
客户端1订阅模式为news.*的频道:

PSUBSCRIBE news.*

客户端2使用下列2个频道,发布消息:

PUBLISH news.20220412


客户端1接收到消息

1.4 unsubscribe 取消订阅

退订给定的一个或多个频道的信息:

UNSUBSCRIBE news.20220411

redis 4.Redis的发布和订阅相关推荐

  1. StackExchange.Redis学习笔记(五) 发布和订阅

    StackExchange.Redis学习笔记(五) 发布和订阅 原文:StackExchange.Redis学习笔记(五) 发布和订阅 Redis命令中的Pub/Sub Redis在 2.0之后的版 ...

  2. Redis源码分析 —— 发布与订阅

    前言 通过阅读Redis源码,配合GDB和抓包等调试手段,分析Redis发布订阅的实现原理,思考相关问题. 源码版本:Redis 6.0.10 思考问题 发布订阅基本概念介绍 订阅频道 -- SUBS ...

  3. Redis中消息队列/发布和订阅的介绍及代码实现

    一.概念 发布订阅是一种应用程序(系统)之间的通讯 传递数据的技术手段 特别是在异构(不同语言)的系统之间作用非常明显 发布订阅可以实现应用(系统)之间的解耦合 类似于微信中关注公众号/订阅号 那么订 ...

  4. redis(18)--发布和订阅

    目录 频道的订阅与退订 订阅频道 退订频道 模式的订阅与退订 订阅模式 退订模式 发送消息 查阅订阅信息 Redis 通过 PUBLISH . SUBSCRIBE,PSUBSCRIBE 等命令实现了订 ...

  5. Redis之发布与订阅

    欢迎阅读大魔王的睡前私语系列,这是Redis第九篇文章 发布与订阅 Redis的发布订阅功能由PUBISH,SUBSCRIBE,PSUBSCRIBE命令组成. 通过执行SUBSCRIBE命令,客户端可 ...

  6. 023_Jedis的发布和订阅

    1. Redis为我们提供了publish/subscribe(发布/订阅)功能.我们可以对某个channel(频道)进行subscribe(订阅),当有人在这个channel上publish(发布) ...

  7. Redis 笔记系列(十一)——Redis的发布和订阅机制

    2019独角兽企业重金招聘Python工程师标准>>> 本文说的redis功能没啥大用处,大家知道有这回事情就好,我一笔带过. Redis的发布订阅 这是什么 进程间的一种消息通信模 ...

  8. 面试被问到Redis实现发布与订阅,手摸手教

    简介 Redis发布与发布功能(Pub/Sub)是基于事件座位基本的通信机制,是目前应用比较普遍的通信模型,它的目的主要是解除消息的发布者与订阅者之间的耦合关系. Redis作为消息发布和订阅之间的服 ...

  9. redis发布与订阅消息

    2019独角兽企业重金招聘Python工程师标准>>> Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. Redis 客 ...

  10. redis之mq实现发布订阅模式

    https://github.com/smltq/spring-boot-demo/blob/master/mq-redis 概述 Redis不仅可作为缓存服务器,还可用作消息队列,本示例演示如何使用 ...

最新文章

  1. JavaEE SSH集成框架(两) struts2 本地加载dtd文件,action组态
  2. 奇思妙想——我心中的智能自行车
  3. 未转变者服务器床id,最新id欢迎补充
  4. 配置MySQL8.0
  5. 关于SET ANSI_PADDING的用法
  6. 常州工学院计算机网络考试题库,用Winsock实现在线考试
  7. 电子技术基础(数字部分)(第六版) 康华光 课后习题答案
  8. 《Adobe Fireworks CS5中文版经典教程》——1.2 工具面板
  9. 一款度盘高速下载工具
  10. 恶意软件分析(二)玩出花的批处理(中)
  11. python爬取京东商品信息_python爬虫:爬取京东商品信息
  12. 使用sh_metutil生成采样300秒的ztd
  13. 账户信息不存在的问题
  14. js将HTML导出生成word文档
  15. Transform 3.1:SPSS 的通用数据转换程序
  16. Mac上安装瓦力之Docker安装的一些小坑
  17. idea配置openJDK11-Lombok报错问题
  18. System源码浅析- initializeSystemClass(initProperties)
  19. 2019年11月中国大陆编程语言排行榜
  20. 织梦系统光传html能不能访问,织梦关键词自动添加链接设置方法

热门文章

  1. 公众号跳转小程序的4个简单方法实现
  2. Microsoft Visual Studio Key
  3. Java面试题总结2(持续更新)
  4. prometheus被OOM杀死
  5. Android:E/IdpSignInActivity: Web sign-in failed, finishing
  6. c++语言转换为字符串函数,C++中整型转换为字符串类型
  7. Eclipse 删除Git远程仓库分支
  8. 浅析搭建视频监控汇聚平台的必要性及场景应用
  9. sql 事务提交和回滚_SQL提交和回滚
  10. 蓝牙开发板青风NRF52840上手第一步避坑