天天看點

SpringBoot如何整合Redis叢集? | 帶你讀《SpringBoot實戰教程》之三十三

上一篇:SpringBoot如何整合Redis(單機版)? | 帶你讀《SpringBoot實戰教程》之三十二 下一篇:SpringBoot如何內建MongoDB? | 帶你讀《SpringBoot實戰教程》之三十四

本文來自于千鋒教育在阿裡雲開發者社群學習中心上線課程《SpringBoot實戰教程》,主講人楊紅豔,

點選檢視視訊内容

SpringBoot整合Redis叢集

以上一節案例為例:

添加依賴:

<!-- springboot整合redis -->
      <dependency>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-starter-data-redis</artifactId>
      </dependency>           

注釋單機版全局配置,添加叢集配置:

spring.redis.cluster.nodes=192.168.25.128:7550, 192.168.25.128:7551, 192.168.25.128:7552, 192.168.25.128:7553, 192.168.25.128:7554, 192.168.25.128:7555           

建立一個配置類:

@Configuration
public class RedisConfig {

    @Value("${spring.redis.cluster.nodes}")
    private String redisNode;

    @Bean
    public JedisCluster getJedisCluster() {

        String[] redisnodes = redisNodes.split(",");

        Set<HostAndPort> nodes = new HashSet<>();
        for(String node:redisnodes) {
             String[] arr=node.split(":");
             HostAndPort hostAndPort = new HostAndPort(arr[0], Integer.parseInt(arr[1]));

             nodes.add(hostAndPort);
        }
        JedisCluster cluster = new  JedisCluster(nodes);
        return cluster;
    }
}           

UserService:

public String findRedis();           

UserServiceImpl:

@Autowried
private JedisCluster jedisCluster;

@Override
public String findRedis() {

    jedisCluster.set("haha", "kele");
    return jedisCluster.get("haha");
}           

UserController:

@RequestMapping("/redis")
@ResponseBody    
public String findRedis() {
    
    return userService.findRedis();
}           

執行結果:

SpringBoot如何整合Redis叢集? | 帶你讀《SpringBoot實戰教程》之三十三

配套視訊