.net - 如何将 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);
解决方案
尝试使用
RedisClusterConfiguration redisClusterConfiguration = new RedisClusterConfiguration(nodesList);
这将需要连接到 Redis Cluser。
推荐阅读
- python - 为什么 pytest 一旦单元测试(@pytest.mark.timeout(3))超时就退出?
- mongodb - MongoDB:多处理更新和“$inc”操作
- r - 如何使用cowplot包在R中的同一页面上制作多个图?
- visual-studio - 无法安装 Xamarin.Firebase.Messaging 包
- ios - 在我的表格视图中,我没有只有单元格的部分,所以如何在 ios 目标 c 中重新加载表格视图?
- django - 使用序列化程序将多个数据添加到模型中
- haskell - 多模式匹配
- angular - 安装 flex 布局时出现问题
- javascript - 无法在 react-native 中加载图像
- ios - 将 Firebase 数据检索到自定义表格视图单元格中