一、环境
spring boot 2.3.12.RELEASE
JDK 1.8
IntelliJ IDEA开发工具
Redis哨兵主从搭建
二、POM文件
pom文件其他忽略,只展示和redis有关系统的依赖
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
< dependency > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-starter</ artifactId > </ dependency > < dependency > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-starter-web</ artifactId > </ dependency > <!-- 重点:redis依赖 --> < dependency > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-starter-data-redis</ artifactId > </ dependency > <!-- 对象池框架,redis依赖 --> < dependency > < groupId >org.apache.commons</ groupId > < artifactId >commons-pool2</ artifactId > </ dependency > |
三、application.yml配置
关于springboot的配置忽略
spring 约定大于配置,对于默认的就可以不用再配置文件中体现
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
spring: redis: # redis库 database: 1 # redis节点的密码 password: jwssw # 集群配置 sentinel: # 集群哨兵节点配置,多个节点之间用英文逗号分割 nodes: 127.0.0.1:26379,127.0.0.1:26380,127.0.0.1:26381 # 主节点名称 master: mymaster # 密码 password: jwssw |
注意如果redis的sentinel配置文件增加了requirepass(访问秘钥),其sentinel节点下必须加上【password】,否则不需要添加。
四、reidsTemplate配置
该配置文件可以直接加载启动类中,因为启动类也是springboot的一种配置类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
/** * 方法描述: 初始化redis连接 * * @param factory redis连接工厂 * @return {@link RedisTemplate} */ @Bean public RedisTemplate redisTemplate(RedisConnectionFactory factory) { // 新建redisTemplate对象 RedisTemplate<String, Object> template = new RedisTemplate<>(); // 设置工厂 template.setConnectionFactory(factory); // 键值类型 template.setKeySerializer( new StringRedisSerializer()); template.setValueSerializer( new StringRedisSerializer()); // 返回redisTemplate对象 return template; } |
五、单元测试(JUnit4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
@RunWith (SpringRunner. class ) @SpringBootTest public class RedisTest { // 注入redisTemplate对象 @Autowired RedisTemplate<String, Object> redisTemplate; @Test public void setOrGetTest() { // redis键值 String redisKey = "name" ; // 向redis存放内容 redisTemplate.opsForValue().set(redisKey, "张三" + new Random().nextInt()); // 获取redis中的内容并打印 System.out.println(redisTemplate.opsForValue().get(redisKey)); } } |
到此这篇关于springboot 集成redis哨兵主从的实现的文章就介绍到这了,更多相关springboot redis哨兵主从内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/lhp3000/article/details/123664466