:::tips RedisTemplate底层同样基于lettuce实现了分片集群的支持,使用的步骤与哨兵模式基本一致 :::
添加配置
:::tips 在引入了SpringDataRedis依赖的项目中的配置文件里面添加Redis分片集群的信息 :::
spring:
redis:
cluster:
nodes:
- Redis服务IP1
- Redis服务IP2
- Redis服务IP3
- Redis服务IP4
- Redis服务IP5
- Redis服务IP6
配置读写分离
:::tips 在引入了SpringDataRedis依赖的项目中的配置类里面添加一个Bean,用来配置读写分离 :::
@Configuration
public class XxxConfig{
//配置Redis读写分离
@Bean
public LettuceClientConfigurationBuilderCustomizer clientConfigurationBuilderCustomizer(){
return clientConfigurationBuilder -> clientConfigurationBuilder.readFrom(ReadFrom.REPLICA_PREFERRED);
}
}
:::tips 读写策略:
- MASTER:从主节点读取
- MASTER_PREFERRED:优先从master节点读取,master不可用才读取slave
- REPLICA:从slave节点读取
- REPLICA _PREFERRED:优先从slave节点读取,所有的slave都不可用才读取master :::