C# · 12月 29, 2021

c# – StackExchange.Redis ConnectionMultiplexer.Connect()间歇性地工作

我正在使用StackExchange.Redis与3个不同的Redis实例进行交谈:1在同一个子网上,2个在远端.这是我的配置代码: var configurationOptions = new ConfigurationOptions{ EndPoints = { { host,port } },KeepAlive = 180,Password = password,DefaultVersion = new Version(“2.8.5”),// Needed for cache clear AllowAdmin = true};var connectionMultiplexer = ConnectionMultiplexer.Connect(configurationOptions );

最后一行在大约70%的时间内引发连接异常:

It was not possible to connect to the redis server(s); to create a disconnected multiplexer,disable AbortOnConnectFail

为什么这是间歇性的和/或我做错了什么?当我在命令提示符下ping了Redis服务器时,有0%的数据包丢失和< 1 ms的响应.网络稳定. 谢谢! 编辑 这是日志在失败时输出的内容:

10.48.68.28:6379,keepAlive=180,version=2.8.51 unique nodes specifiedRequesting tie-break from 10.48.68.28:6379 > __Booksleeve_TieBreak…Allowing endpoints 00:00:01 to respond…10.48.68.28:6379 did not respond10.48.68.28:6379 Failed to nominate (WaitingForActivation)No masters detected10.48.68.28:6379: Standalone v2.8.5,master; keep-alive: 00:03:00; int: Connecting; sub: ConnectedEstablished,1 active; not in use: DidNotRespond10.48.68.28:6379: int ops=0,qu=4,qs=0,qc=0,wr=0,socks=1; sub ops=2,qu=0,subs=1,sync=2,socks=1Circular op-count snapshot; int: 0 (0.00 ops/s; spans 10s); sub: 0+2=2 (0.20 ops/s; spans 10s)Sync timeouts: 0; fire and forget: 0; last heartbeat: -1s agoStarting heartbeat…解决方法 这似乎是一个常见的问题: https://github.com/StackExchange/StackExchange.Redis/issues/42

我刚刚下载了新版本,并没有再看到问题.然而.