Redis四种模式在Spring Boot框架下的配置

在Spring Boot框架下配置Redis的四种模式(单机模式、主从模式、哨兵模式、集群模式)可以通过以下方式实现:

  1. 单机模式

在application.properties或application.yml中配置Redis的连接信息:

application.properties

spring.redis.host=127.0.0.1

spring.redis.port=6379

spring.redis.password=yourpassword

或者

application.yml

spring:

redis:

host: 127.0.0.1

port: 6379

password: yourpassword

  1. 主从模式

Spring Boot默认不支持Redis主从模式的自动配置,需要手动配置LettuceConnectionFactory,在RedisTemplate中使用。

application.properties

spring.redis.master=master

spring.redis.sentinel.nodes=127.0.0.1:26379,127.0.0.2:26379

spring.redis.password=yourpassword

使用RedissonClient配置主从模式:

@Bean

public RedissonClient redissonClient() {

Config config = new Config();

config.useMasterSlaveServers()

.setMasterAddress("redis://127.0.0.1:6379")

.addSlaveAddress("redis://127.0.0.2:6379", "redis://127.0.0.3:6379")

.setPassword("yourpassword");

return Redisson.create(config);

}

  1. 哨兵模式

在application.properties中配置哨兵模式:

application.properties

spring.redis.sentinel.master=mymaster

spring.redis.sentinel.nodes=127.0.0.1:26379,127.0.0.2:26379

spring.redis.password=yourpassword

使用RedissonClient配置哨兵模式:

@Bean

public RedissonClient redissonClient() {

Config config = new Config();

config.useSentinelServers()

.addSentinelAddress("redis://127.0.0.1:26379", "redis://127.0.0.2:26379")

.setMasterName("mymaster")

.setPassword("yourpassword");

return Redisson.create(config);

}

  1. 集群模式

在application.properties中配置集群模式:

application.properties

spring.redis.cluster.nodes=127.0.0.1:6379,127.0.0.2:6379,127.0.0.3:6379

spring.redis.password=yourpassword

使用RedissonClient配置集群模式:

@Bean

public RedissonClient redissonClient() {

Config config = new Config();

config.useClusterServers()

.addNodeAddress("redis://127.0.0.1:6379", "redis://127.0.0.2:6379", "redis://127.0.0.3:6379")

.setPassword("yourpassword");

return Redisson.create(config);

}

以上配置涵盖了Redis的四种部署模式在Spring Boot框架下的配置方法。每种模式都有其特定的应用场景和配置要求,可以根据实际需求选择合适的模式进行配置。

相关推荐
markinmarkin1 小时前
Spring 中Bean 的作用域有哪些?
java·后端·spring
山荷枝2 小时前
Java学习第十天
java·学习
matlabgoodboy2 小时前
计算机毕设代做|Java Python Matlab APP 全套开发设计
java·python·课程设计
程序员雷欧3 小时前
环形缓冲区深度解析:从基础原理到Disruptor源码的全面剖析
java
xiaoqiMikko3 小时前
Dependabot 面板全绿,不代表你的 Tomcat 没洞
java·spring boot
前端开发张小七4 小时前
Java 学习笔记 · 第三课:多线程与并发编程(线程、同步、死锁、Lock、乐观锁与悲观锁)
java·后端·程序员
花生了什么事o4 小时前
JVM 垃圾回收:对象如何被判定和回收
java·jvm
evans在进步4 小时前
HashMap 为什么线程不安全?ConcurrentHashMap 如何解决?
java·spring boot·spring
我命由我123455 小时前
匈牙利命名法
java·服务器·后端·学习·java-ee·kotlin·学习方法
闲猫5 小时前
LangChain / Integrations / Integrations by component / Tool
java·数据库·langchain