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

相关推荐
阿丰资源5 小时前
基于SpringBoot的物流信息管理系统设计与实现(附资料)
java·spring boot·后端
lhbian9 小时前
PHP、C++和C语言对比:哪个更适合你?
android·数据库·spring boot·mysql·kafka
zhimingwen11 小时前
初探 Java 後端開發:解決 macOS 環境下 Spring Boot 項目啟動的各類「坑」
java·spring boot
Arya_aa11 小时前
检疫登记模块图片上传,nginx自动映射地址
spring boot·nginx
程序员老邢12 小时前
【技术底稿 15】SpringBoot 异步文件上传实战:多线程池隔离 + 失败重试 + 实时状态推送
java·经验分享·spring boot·后端·程序人生·spring
Arya_aa12 小时前
HTTP与Tmocat服务器与SpringMVC
java·spring boot
songcream112 小时前
Spring Boot资料整理
java·spring boot·后端
披着羊皮不是狼12 小时前
(8):实现双删(MySQL+Redis)
spring boot·后端
lhbian13 小时前
PHP vs Java vs Go:编程语言终极对比
java·spring boot·后端·kafka·linq
java修仙传13 小时前
从手写 Redis 锁到 Redisson:我对分布式锁安全性的理解
java·数据库·redis·分布式