上一篇博客写了👉Docker搭建Redis Cluster 集群环境
我自己是认为对于每个知识点,光看了不操作是没有用的(遗忘太快…),多少得在手上用上几回才可以,才能对它加深印象。
昨天搭建了Redis Cluster 集群环境,今天就来拿它玩一玩Redis 发布/订阅模式吧
很喜欢一句话:”八小时内谋生活,八小时外谋发展“。
共勉
.😁
地点
:😂不知道作者
:L
@[TOC](SpringBoot 整合Redis集群配置 实现发布/订阅模式)
一、前言
其实光从代码层面上讲,其实没有什么变化,主要是变化是关于Redis的配置需要更改为集群配置而已,之前接触过redis的话,那么就只需要看一下redis集群配置文件即可了。
对redis实现发布/订阅感兴趣的话,那就可以接着看下去了哈。
发布/订阅模式
:所谓发布/订阅模式,其实就是和你关注微信公众号一样的意思。
举个例子:你订阅了两个微信公众号(一个叫青年湖南,一个叫央视新闻),假如我也订阅了青年湖南,某一天央视发布了一条新新闻,你能收到,我没有关注,则我不能收到。但是某周看青年大学习发布王冰冰叫你去学习时,你我都订阅了,就都可以收到。
二、前期准备
两份配置文件都有。
单机也是可以的,想一起搭集群玩的可以👉Docker搭建Redis Cluster 集群环境。
2.1、项目结构:
2.2、依赖的jar包
我这里是因为是习惯创建maven项目,然后将SpringBoot的版本抽出来,方便控制版本。
1 | java复制代码<parent> |
2.3 、yml配置文件
单机配置文件
1 | yml复制代码spring: |
redis集群配置文件
1 | yml复制代码server: |
三、编码
3.1、config层
redis配置类
1 | java复制代码import com.crush.ps.subscribe.AConsumerRedisListener; |
3.2、订阅者
我在这边写了两个订阅者,方便演示例子罢了。
A消费者
1 | java复制代码import org.springframework.beans.factory.annotation.Autowired; |
B消费者:
1 | java复制代码package com.crush.ps.subscribe; |
3.3、AnnouncementMessage实体类
就是自己写的传递消息的实体类,(AnnouncementMessage 意思就是拿来模拟发布公布的实体类)
1 | java复制代码import lombok.AllArgsConstructor; |
四、测试
1 | java复制代码@SpringBootTest |
结果:
1 | bash复制代码输出: |
因为A 消费者订阅两个频道,而B 消费者只订阅了一个频道,所以A 会多一条。
注
:测试时需要把主启动类也给启动起来,方便查看输出。(主启动自己写就好了,没有什么其他的注解,普普通通的)
五、自言自语
不知道大家学习是什么样的,博主自己的感觉就是学了的东西,要通过自己去梳理一遍,或者说是去实践一遍,我觉得这样子,无论是对于理解还是记忆,都会更加深刻。
如若有不足之处,请不啬赐教!!😁
有疑惑之处,也可以留言或私信,定会第一时间回复。👩💻
这篇文章就到这里啦,下篇文章再见。👉一篇文章用Redis 实现消息队列(还在写)
本文转载自: 掘金