【问题标题】:Using StackExchange.Redis client with Redis cluster将 StackExchange.Redis 客户端与 Redis 集群一起使用
【发布时间】:2017-04-29 16:16:04
【问题描述】:

如何告诉 StackExchange.Redis (v1.0.481) 它即将连接到 Redis 集群(v3.2.6,以防万一),而不仅仅是一个独立/复制的实例?例如,当我使用 redis-cli 时,我必须传递一个 -c 标志以使其支持集群。 StackExchange.Redis 连接字符串中是否有等效标志?

我搜索并发现了几个连接字符串示例,其中包含多个以逗号分隔的 host:port 参数,但没有任何内容明确使 StackExchange.Redis 支持集群。

谢谢。

【问题讨论】:

    标签: c# redis stackexchange.redis redis-cluster


    【解决方案1】:

    如果您有一个集群,无论您是否在连接字符串上放置一个或多个端点,您都将连接到该集群。没有标志可以连接到集群。

    在您的连接字符串上放置多个端点有利于高可用性,因此如果其中一个节点出现故障,您将能够启动与其他节点的连接。

    内部节点列表会自动更新和扩展。您不需要将所有端点都放在连接字符串上。

    查看issue了解更多详情。

    【讨论】:

    • 对于客户端 v1.2.6,您的答案仍然准确吗?
    • 但是如果我有 3 个主节点和 3 个从节点并且每个节点都有不同的密码怎么办?我在哪里可以传递这些密码?
    • @NiklausWirth AFAIK,您必须在所有集群服务器中使用相同的密码。检查this
    • @thepirat000 正如您所说,HA 为 connectionString 带来更多端点是好的,我们不需要放置所有端点。 .首先我们应该把所有的master和slave地址或者只是把masters?例如,您有 3 个主节点和 3 个从节点,您将哪个端点放在您的连接字符串中?
    • @pejman 我建议将所有主节点放在 cs 中,或者使用 envoy 作为代理。这样想......你有三(3)个主节点,每个节点都有一个从属(副本)。您有一个主节点故障,并且您的副本故障转移主节点,现在您的一个主节点 ips 已更改,但您的 cs 有另外两个,因此您仍然可以从中发现新的主节点。希望这有助于您了解 HA。
    猜你喜欢
    • 1970-01-01
    • 2021-09-13
    • 2021-03-31
    • 2023-03-03
    • 2019-12-01
    • 2018-06-19
    • 2016-04-25
    • 2022-11-13
    • 1970-01-01
    相关资源
    最近更新 更多