【问题标题】:Configuring Spring Data Redis with Lettuce for Redis master/slave使用 Lettuce 为 Redis 主/从配置 Spring Data Redis
【发布时间】:2018-06-01 04:43:44
【问题描述】:

使用 Lettuce,我们如何配置 Spring Data Redis 在主机 x 上运行的 6379 端口和从属运行在相同或不同主机上但在 6380 端口上?

【问题讨论】:

    标签: java redis spring-data spring-data-redis lettuce


    【解决方案1】:

    这是 will be included 在即将发布的 Spring Data Redis 2.1 版本中的一项功能。 您将配置 LettuceConnectionFactory 类似于:

        LettuceClientConfiguration configuration = LettuceClientConfiguration.builder()
                                                        .readFrom(ReadFrom.REPLICA)
                                                        .build();
    
        LettuceConnectionFactory factory = new LettuceConnectionFactory(new RedisStandaloneConfiguration("x", 6379),
                                                        configuration);
    

    Lettuce 自动从静态(不使用 Redis Sentinel 管理)设置中发现主服务器和副本。

    【讨论】:

    • 这里的 LettuceTestClientConfiguration 类是什么?我浏览了一些文档,但没有任何简单的方法来配置和使用生菜和主从。我尝试使用 StatefulRedisMasterSlaveConnection 但它再次需要 RedisCodec 作为其参数,这使得它更难与不同的数据类型一起使用。我想为主从设置提供 RedisTemplate 类抽象,有什么方法可以实现吗?
    • 这是一个错字。现已修复。
    • 配置适当的ReadFrom。
    • “SLAVE_PREFERRED”的文档说“从从属读取首选,如果没有从属不可用则回退到主控。”,这是否意味着如果从属正忙于服务另一个请求然后使用 MASTER?
    • 不,这意味着如果副本已关闭(拓扑中未配置副本,与副本的连接断开),则读取将路由到主节点。
    猜你喜欢
    • 2018-07-06
    • 2015-06-14
    • 1970-01-01
    • 2021-03-20
    • 2017-04-24
    • 2016-05-30
    • 2021-09-13
    • 1970-01-01
    • 2020-01-21
    相关资源
    最近更新 更多