:::tips RedisTemplate底层同样基于lettuce实现了分片集群的支持,使用的步骤与哨兵模式基本一致 :::

添加配置

:::tips 在引入了SpringDataRedis依赖的项目中的配置文件里面添加Redis分片集群的信息 :::

  1. spring:
  2. redis:
  3. cluster:
  4. nodes:
  5. - Redis服务IP1
  6. - Redis服务IP2
  7. - Redis服务IP3
  8. - Redis服务IP4
  9. - Redis服务IP5
  10. - Redis服务IP6

配置读写分离

:::tips 在引入了SpringDataRedis依赖的项目中的配置类里面添加一个Bean,用来配置读写分离 :::

  1. @Configuration
  2. public class XxxConfig{
  3. //配置Redis读写分离
  4. @Bean
  5. public LettuceClientConfigurationBuilderCustomizer clientConfigurationBuilderCustomizer(){
  6. return clientConfigurationBuilder -> clientConfigurationBuilder.readFrom(ReadFrom.REPLICA_PREFERRED);
  7. }
  8. }

:::tips 读写策略:

  • MASTER:从主节点读取
  • MASTER_PREFERRED:优先从master节点读取,master不可用才读取slave
  • REPLICA:从slave节点读取
  • REPLICA _PREFERRED:优先从slave节点读取,所有的slave都不可用才读取master :::