有没有人有通过BookSleeve库获取 Redis 的可靠模式?
我是说:
BookSleeve 的作者@MarcGravell建议不要每次都打开和关闭连接,而是在整个应用程序中保持一个连接。但是如何处理网络中断?即连接可能首先成功打开,但是当某些代码尝试读取/写入 Redis 时,连接可能已断开,您必须重新打开它(如果它无法打开,则优雅地失败 - 但是这取决于您的设计需求。)
我寻找涵盖一般 Redis 连接打开的代码片段,以及在每次读/写之前将使用的一般“活动”检查(+ 可选唤醒,如果不活动)。
这个问题表明对这个问题的态度很好,但它只是部分的(例如,它不会恢复丢失的连接),并且该问题的公认答案是正确的方法,但没有展示具体的代码。
我希望这个线程能得到可靠的答案,并最终成为一个关于 BookSleeve 在 .Net 应用程序中使用的 Wiki。
-----------------------------------------
重要更新(21/3/2014):
-----------------------------------------
Marc Gravell (@MarcGravell) / Stack Exchange最近发布了StackExchange.Redis库,最终取代了 Booksleeve。除其他外,这个新库在内部处理重新连接并使我的问题变得多余(也就是说,它对于 Booksleeve 和我下面的答案都不是多余的,但我想最好的方法是开始使用新的 StackExchange.Redis 库)。