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框架下的配置方法。每种模式都有其特定的应用场景和配置要求,可以根据实际需求选择合适的模式进行配置。

相关推荐
a***13141 小时前
Spring Boot 条件注解:@ConditionalOnProperty 完全解析
java·spring boot·后端
s***55811 小时前
IDEA+Docker一键部署项目SpringBoot项目
spring boot·docker·intellij-idea
zs宝来了1 小时前
Redis的String 底层实现
数据库·redis·缓存
e***58231 小时前
Spring Boot 中使用 @Transactional 注解配置事务管理
数据库·spring boot·sql
z***75151 小时前
Spring Boot 中 RabbitMQ 的使用
spring boot·rabbitmq·java-rabbitmq
旷野说1 小时前
用 Redis + Lua 守住打赏原子性:我在单体系统中的微观实践(续)
redis·junit·lua
w***48821 小时前
Springboot 3项目整合Knife4j接口文档(接口分组详细教程)
java·spring boot·后端
k***45991 小时前
SpringBoot【实用篇】- 测试
java·spring boot·后端
hellotutu1 小时前
vue2+springboot通过 FormData 手动封装图片数据上传
java·vue.js·spring boot·后端·ui