一、前面介绍了redis的主从和哨兵配置,那我们现在就要用户实际的开发中去了,这里我们以springboot为例,进行相关的配置和测试。

  二、springboot相关配置

  1)依赖

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.4.RELEASE</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
    </dependencies>

  2)spring关于redis的配置

server:
  port: 8080
spring:
  redis:
    host: 192.168.5.23
    port: 6370
    database: 0
    sentinel:
      master: mymaster
      nodes: 192.168.5.23:26371,192.168.5.23:26372

  三、测试代码

@RestController
@RequestMapping("/redis")
public class RedisController {

    @Autowired
    private StringRedisTemplate redisTemplate;

    @GetMapping("/ms")
    public String ms () {
        if (redisTemplate.hasKey("redis")) {
            return redisTemplate.opsForValue().get("redis");
        } else {
            return "null";
        }
    }
}

  四、测试

  1)首先在redis加入相关数据

  

spring redis主从配置 springboot redis主从配置_redis

  2)启动项目测试

  

spring redis主从配置 springboot redis主从配置_spring redis主从配置_02

  3)kill master进行测试

  

spring redis主从配置 springboot redis主从配置_spring_03

  4)查看项目的具体情况

  

spring redis主从配置 springboot redis主从配置_spring_04

  可以看到当我们master挂掉的时候,服务器会尝试重连,如果5次都不能连上的话就去连接了其他的redis。这也就是redis的slave升为master的过程。

  5)测试访问

  

spring redis主从配置 springboot redis主从配置_spring_05