首页 > 解决方案 > 端点 xxxx:port serving hashslot nnnn 在此时不可访问

问题描述

我正在使用 Stackexchange.Redis 并尝试连接到 redis 集群并运行 HashGetAll()。但我遇到了一个例外:

服务哈希槽 4038 的端点 172.18.0.2:6379 目前无法访问。请检查 connectTimeout 值。如果它很低,请尝试增加它以使 ConnectionMultiplexer 有机会从网络断开连接中恢复。

通过 redis-cli 使用集群时没有错误。我正在使用 Windows 并在 Docker 中设置我的 redis 集群。

这是我连接到我的数据库的方式

var connectionMultiplexer = ConnectionMultiplexer.Connect(new ConfigurationOptions
{
    ConnectTimeout = 99000,
    EndPoints =
    {
      "127.0.0.1:6381",
      "127.0.0.1:6382",
      "127.0.0.1:6383",
      "127.0.0.1:6384",
      "127.0.0.1:6385",
      "127.0.0.1:6386"
    }
});
_database = connectionMultiplexer.GetDatabase();

标签: c#redisstackexchange.redis

解决方案


我试图用 redis 重新启动 docker,但它没有帮助。然后完全停止有问题的节点,让master更改到另一个节点和应用程序应用更改。几分钟后,错误消失了,我再次启动了 redis,它又开始工作了。


推荐阅读