Redis:消息订阅发布演示讲解

作用: 发布订阅类似于信息管道,用来进行系统之间消息解耦,类似于mq,rabbitmq、rocketmq、kafka、activemq主要有消息发布者和消息订阅者。比如运用于:订单支付成功,会员系统加积分、钱包进行扣钱操作、发货系统(下发商品)

消息发布者通过管道channel将消息分发到1、2、3订阅者上

问题:为什么不直接将消息发布到订阅上呢? 其实就是解耦

只需要关心发布有没有将消息发不过去 订阅有没有去订阅
在这里插入图片描述

Redis发布消息实操

PUBLISH:发布消息

首次发布显示有0个订阅在监听
在这里插入图片描述

PUBLISH:订阅消息

开启多个终端 客户端连接redis 订阅channela 此时有两个订阅者
在这里插入图片描述

此时发布者再发布test1的消息 结果显示订阅者会迅速接收到消息 并显示两个监听者

在这里插入图片描述

UNSUBSCRIBE:取消订阅指定的频道,如果不指定,则取消订阅所有的评到

Redis的消息订阅发布和mq对比

Redis发布订阅功能比较薄弱,但比较轻量级。

MQ会对消息进行持久化,redis也会持久化,但不排除数据丢失的情况(rdb、aof)

化,redis也会持久化,但不排除数据丢失的情况(rdb、aof)

Redis没有后台功能 MQ有msgId 、msgKey去查询消息 但如果一般使用是没有什么问题的

猜你喜欢

转载自blog.csdn.net/q736317048/article/details/113837953