论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
数据库
›
Nosql
›
Redis发布订阅
Redis发布订阅
络腮胡菲菲
金牌会员
|
2024-2-7 05:55:13
|
显示全部楼层
|
阅读模式
楼主
主题
893
|
帖子
893
|
积分
2679
是什么
是一种消息通信模式:发送者(PUBLISH)发送消息,订阅者(SUBSCRIBE)接收消息,可以实现进程间的消息传递。
Redis可以实现中间件的MQ功能,通过发布订阅实现消息的引导和分流。
能干嘛
Redis客户端可以订阅任意数量的频道,类似我们微信关注多个公众号。
当有新消息通过PUBLISH命令发送给频道channel1时
概括
发布/订阅其实是一个轻量的队列,只不过数据不会被持久化,一般用来处理
实时性较高的异步消息
。
常用命令
SUBSCRIBE channel [channel...]:订阅给定的一个或多个频道的信息
推荐先执行订阅后再发布,订阅成功之前发布的消息是收不到的。
订阅的客户端每次可以收到一个3个参数的消息。
消息的种类
始发频道的名称
消息内容
PUBLISH channel message :发布消息到指定的频道
PSUBSCRIBE pattern [pattern...]:按照模式批量订阅,订阅一个或多个符合给定模式(支持*号?号之类的)的频道
PUBSUB subcommand[argument[argument...]]:查看订阅与发布系统状态
PUBSUB CHANNELS 由活跃频道组成的列表
PUBSUB NUMSUB [channel[channel...]]:某个频道有几个订阅者
PUBSUB NUMPAT:只统计使用PSUBSCRIBE命令执行的,返回客户端订阅的唯一模式数量
UNSUBSCRIBE [channel[channel...]]:取消订阅
PUNSUBSCRIBE [pattern[pattern]]:退订所有给定模式的频道
总结
Redis可以实现消息中间件MQ的功能,通过发布订阅实现消息的引导和分流。
Pub/Sub缺点:
发布的消息在Redis系统中不能持久化,因此,必须先执行订阅,再等待消息发布。如果先发布了消息,那么该消息由于没有订阅者,消息将直接丢弃
消息只管发送对于发布者而言是即发即失的,不管接收,且没有ACK机制,无法保证消息消费成功。
以上缺点导致Redis的Pub/Sub模式就像个小玩具,在生产环境中几乎无用武之地,为此Redis5.0版本新增了Stream数据结构,不但支持多播,还支持数据持久化,相比Pub/Sub更加的强大。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
络腮胡菲菲
金牌会员
这个人很懒什么都没写!
楼主热帖
论销售、售前的互助与博弈
C++读写文件
SPSS计算极值、平均值、中位数、方差、 ...
.NET WebAPI 使用 GroupName 对 Contro ...
Python:灵活的开发环境
AAA
BP神经网络(反向传播算法原理、推导过 ...
低代码为何这么“香”
<C++>继承的进阶之构造与析构的调用 ...
B站狂神Docker学习笔记
标签云
挺好的
服务器
快速回复
返回顶部
返回列表