通过 spring-boot-starter-data-redis-reactive 启用主/副本操作



我正在使用 spring-boot-starter-data-redis-reactive 和@SpringBootApplication注释来自动配置 redis 连接。我已经设置了一个包含 1 个主站和 2 个从站的 redis 集群。我在应用程序属性文件中有以下配置

spring.redis.cluster.nodes=master-node:6379,slave1-node:6379,slave2-node:6379

我想配置它,以便所有写入都转到主站,所有读取都转到从站(首选从站(。

我发现它在引擎盖下使用生菜驱动程序。为了实现这一点,我需要将.readFrom(SLAVE_PREFERRED)添加到LettuceClientConfiguration中。查看了orgspringframeworkbootautoconfiguredataredisLettuceConnectionConfiguration.class,我没有看到添加此配置的方法。知道如何实现这一目标吗?

您需要使用 lettuceClientConfigurationBuilderCustomizer

  public LettuceClientConfigurationBuilderCustomizer lettuceClientConfigurationBuilderCustomizer() {
    return builder -> builder.readFrom(ReadFrom.REPLICA);
  }