redis 4.Redis的发布和订阅
文章目录
- 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的发布和订阅相关推荐
- StackExchange.Redis学习笔记(五) 发布和订阅
StackExchange.Redis学习笔记(五) 发布和订阅 原文:StackExchange.Redis学习笔记(五) 发布和订阅 Redis命令中的Pub/Sub Redis在 2.0之后的版 ...
- Redis源码分析 —— 发布与订阅
前言 通过阅读Redis源码,配合GDB和抓包等调试手段,分析Redis发布订阅的实现原理,思考相关问题. 源码版本:Redis 6.0.10 思考问题 发布订阅基本概念介绍 订阅频道 -- SUBS ...
- Redis中消息队列/发布和订阅的介绍及代码实现
一.概念 发布订阅是一种应用程序(系统)之间的通讯 传递数据的技术手段 特别是在异构(不同语言)的系统之间作用非常明显 发布订阅可以实现应用(系统)之间的解耦合 类似于微信中关注公众号/订阅号 那么订 ...
- redis(18)--发布和订阅
目录 频道的订阅与退订 订阅频道 退订频道 模式的订阅与退订 订阅模式 退订模式 发送消息 查阅订阅信息 Redis 通过 PUBLISH . SUBSCRIBE,PSUBSCRIBE 等命令实现了订 ...
- Redis之发布与订阅
欢迎阅读大魔王的睡前私语系列,这是Redis第九篇文章 发布与订阅 Redis的发布订阅功能由PUBISH,SUBSCRIBE,PSUBSCRIBE命令组成. 通过执行SUBSCRIBE命令,客户端可 ...
- 023_Jedis的发布和订阅
1. Redis为我们提供了publish/subscribe(发布/订阅)功能.我们可以对某个channel(频道)进行subscribe(订阅),当有人在这个channel上publish(发布) ...
- Redis 笔记系列(十一)——Redis的发布和订阅机制
2019独角兽企业重金招聘Python工程师标准>>> 本文说的redis功能没啥大用处,大家知道有这回事情就好,我一笔带过. Redis的发布订阅 这是什么 进程间的一种消息通信模 ...
- 面试被问到Redis实现发布与订阅,手摸手教
简介 Redis发布与发布功能(Pub/Sub)是基于事件座位基本的通信机制,是目前应用比较普遍的通信模型,它的目的主要是解除消息的发布者与订阅者之间的耦合关系. Redis作为消息发布和订阅之间的服 ...
- redis发布与订阅消息
2019独角兽企业重金招聘Python工程师标准>>> Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. Redis 客 ...
- redis之mq实现发布订阅模式
https://github.com/smltq/spring-boot-demo/blob/master/mq-redis 概述 Redis不仅可作为缓存服务器,还可用作消息队列,本示例演示如何使用 ...
最新文章
- JavaEE SSH集成框架(两) struts2 本地加载dtd文件,action组态
- 奇思妙想——我心中的智能自行车
- 未转变者服务器床id,最新id欢迎补充
- 配置MySQL8.0
- 关于SET ANSI_PADDING的用法
- 常州工学院计算机网络考试题库,用Winsock实现在线考试
- 电子技术基础(数字部分)(第六版) 康华光 课后习题答案
- 《Adobe Fireworks CS5中文版经典教程》——1.2 工具面板
- 一款度盘高速下载工具
- 恶意软件分析(二)玩出花的批处理(中)
- python爬取京东商品信息_python爬虫:爬取京东商品信息
- 使用sh_metutil生成采样300秒的ztd
- 账户信息不存在的问题
- js将HTML导出生成word文档
- Transform 3.1:SPSS 的通用数据转换程序
- Mac上安装瓦力之Docker安装的一些小坑
- idea配置openJDK11-Lombok报错问题
- System源码浅析- initializeSystemClass(initProperties)
- 2019年11月中国大陆编程语言排行榜
- 织梦系统光传html能不能访问,织梦关键词自动添加链接设置方法
热门文章
- 公众号跳转小程序的4个简单方法实现
- Microsoft Visual Studio Key
- Java面试题总结2(持续更新)
- prometheus被OOM杀死
- Android:E/IdpSignInActivity: Web sign-in failed, finishing
- c++语言转换为字符串函数,C++中整型转换为字符串类型
- Eclipse 删除Git远程仓库分支
- 浅析搭建视频监控汇聚平台的必要性及场景应用
- sql 事务提交和回滚_SQL提交和回滚
- 蓝牙开发板青风NRF52840上手第一步避坑