我正在使用stackexchange.redis,并尝试连接到redis cluster并运行hashgetall((。但是我有一个例外:
端点172.18.0.2:6379在此时间点不可达到Hashslot 4038。请检查ConnectTimeOut值。如果较低
通过Redis-CLI与群集一起工作时,我没有错误。我正在使用Windows并在Docker中设置Redis群集。
这是我连接到我的DB
的方式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();
我试图用redis重新启动Docker,但这无济于事。然后完全停止有问题的节点,让主更改为另一个节点并应用应用程序更改。几分钟后,当错误消失了,我再次启动了Redis,然后开始工作。
我修复了它。我在Docker中使用了多个容器,并将其连接到群集中。配置存在一些问题,我不知道确切的问题,解决我的问题,我使用了Redis-Cluster容器,该容器具有预先配置的REDIS群集。