1、现在服务器
服务器 | IP | 端口 |
---|---|---|
redis | 192.168.237.144 | 6379 |
redis | 192.168.237.145 | 6379 |
redis | 192.168.237.146 | 6379 |
哨兵 | 192.168.237.144 | 26379 |
哨兵 | 192.168.237.145 | 26379 |
哨兵 | 192.168.237.146 | 26379 |
详情可查看地址:
redis哨兵搭建
2、maven
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<exclusions>
<exclusion>
<groupId>io.lettuce</groupId>
<artifactId>lettuce-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
3、yml参数中sentinel配置
spring:
redis:
sentinel:
master: mymaster
nodes: 192.168.237.144:26379,192.168.237.145:26379,192.168.237.146:26379
4、springBoot接入
这里单纯是为了演示接入,使用较为简单。
哨兵不需要再进行配置,会自行根据yml中的参数自动加载的。
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(redisConnectionFactory);
GenericJackson2JsonRedisSerializer genericJackson2JsonRedisSerializer = new GenericJackson2JsonRedisSerializer();
// 设置value的序列化规则和 key的序列化规则
redisTemplate.setValueSerializer(genericJackson2JsonRedisSerializer);
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.afterPropertiesSet();
return redisTemplate;
}
}
5、演示效果
具体业务代码及工具类就不再写了,网上比较多的。
redis插入参数:
redis查询参数:
6、演示代码地址
url: https://gitlab.com/huan362251/distributeddemo.git
分支: redis20200607
项目需要注意切换成自己的redis和哨兵服务器地址