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

相关推荐
用户298698530143 小时前
Word 文档字符级格式化:Java 实现方案详解
java·后端
笨鸟飞不快3 小时前
从单个服务到集群:一次完整的性能排查复盘
java·前端
荣码3 小时前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
SamDeepThinking3 小时前
Java微服务练习方式
java·后端·微服务
朦胧之14 小时前
AI 编程-老项目改造篇
java·前端·后端
程序猿大帅18 小时前
别再只当调包侠了:用 Spring AI 落地 Function Calling,我被大模型硬生生砸出了三个大坑
java
程序员晓琪19 小时前
约定大于配置:基于 Java 包名自动生成 API 版本路由的最佳实践
java·spring boot·后端
Flittly19 小时前
【AgentScope Java新手村系列】(11)中断与恢复
java·spring boot·spring
众少成多积小致巨20 小时前
JNI (Java Native Interface) 技术手册中文参考指南
android·java·c++
东坡白菜20 小时前
破局全栈:前端开发的Java入门实战记录—JPA(2)
java·后端