首页 > 解决方案 > 如何将 Redis 集群与 StackExchange.Redis 一起使用?

问题描述

我正在使用StackExchange.Redis寻找高可用性。我的第一种方法是尝试使用 Redis Sentinel,但由于包的功能而没有成功。

我在 Docker 中有一个 6 节点集群(3 个主节点和 3 个从节点)。我的应用程序能够连接到这 3 个主机,但是当我关闭或暂停主容器时,我的应用程序会抛出RedisTimeoutException,因为它无法到达之前连接的节点。

这是运行cluster nodes命令before暂停主机 的输出在此处输入图像描述

这是运行cluster nodes命令after暂停主机 的输出在此处输入图像描述

这是我的应用程序抛出的异常 在此处输入图像描述

目前,我正在连接到 3 个主人

private const string Host = "10.0.0.2:7000, 10.0.0.3:7001, 10.0.0.4:7002";

private static readonly ConnectionMultiplexer Connection = ConnectionMultiplexer.Connect(Host);

标签: .netredisstackexchange.redis

解决方案


尝试使用

    RedisClusterConfiguration redisClusterConfiguration = new RedisClusterConfiguration(nodesList);

这将需要连接到 Redis Cluser。


推荐阅读