在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

2. 主从模式
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);
}

3. 哨兵模式
在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);
}

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

Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐