我正在将ConnectionMultiplexer静态对象存储在ASP.NET MVC网站中,以500 sec/秒的速度访问RedisLabs上的Redis实例。偶尔,我会看到一些错误,比如说SocketFailure on EVAL和增加连接,都依赖于RedisLabs仪表板。我是否应该处理旧的ConnectionMultiplexer实例并重新创建新的,或者在这些异常之后尝试手动重新连接?
发布于 2014-09-03 10:39:05
系统应尝试自动重新连接。它不做的是重试命令,因为它无法知道服务器上完成了什么和没有完成什么(因为:套接字失败了;尽管它知道,"ok“响应可能已经由redis发送了)。
因此,您不应该需要释放/重新连接。您可以通过在复用器实例上发布的事件监视连接故障/重新连接。您也可以在数据库上使用.IsConnected()方法(这需要一个键,因为服务器定位的原因,但是如果您只与一台服务器交谈,则可以将任何内容作为键传递)。
https://stackoverflow.com/questions/25642058
复制相似问题