c# - 端点 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();
解决方案
我试图用 redis 重新启动 docker,但它没有帮助。然后完全停止有问题的节点,让master更改到另一个节点和应用程序应用更改。几分钟后,错误消失了,我再次启动了 redis,它又开始工作了。
推荐阅读
- python - 尝试用 Python 制作 Watson IBM 助手。如何修复我的代码以在没有音频文件的情况下在 IDE Pycharm 中说出答案。使用 VLC
- vue.js - vuetify 中的动态 mdi svg 图标
- c++ - CMake find_path 对于简单路径失败
- python - 将键用作新字母表(Python)
- postfix-mta - 不接受 Postfix 用户名和密码 (BadCredentials)
- stm32 - 清除 stm32f103 中未决的 EXTI 中断
- python - VSCode:如何在不突出显示的情况下运行活动行?
- dictionary - 未能使用地图呈现 OrderItems 列表
- docker - 具有多个节点的集群上的 kubernetes hostPath 卷行为
- sql-server - 派生列转换问题