Есть ли у кого-нибудь надежный шаблон получения Redis через библиотеку BookSleeve?
То есть:
Автор BookSleeve @MarcGravell рекомендует не открывать и закрывать соединение каждый раз, а поддерживать одно соединение на протяжении всего приложения. Но как вы можете обрабатывать разрывы сети? Т.е. соединение может быть успешно открыто с самого начала, но когда какой-то код пытается читать/писать в Redis, есть вероятность, что соединение упало, и вы должны снова открыть его (и отказать изящно, если оно не открывается - но это зависит от ваших потребностей дизайна)
Я ищу фрагмент(ы) кода, который охватывает общее открытие соединения Redis, и общую проверку "жив" (+ необязательное пробуждение, если не жив), которая будет использоваться перед каждым чтением/записью.
Этот вопрос предлагает хорошее отношение к проблеме, но оно лишь частичное (оно не восстанавливает потерянное соединение, например), а принятый ответ на этот вопрос рисует правильный путь, но не демонстрирует конкретный код.
Я надеюсь, что эта тема получит солидные ответы и в конечном итоге станет своего рода Wiki в отношении использования BookSleeve в .Net приложениях.
-----------------------------
ВАЖНОЕ ОБНОВЛЕНИЕ (21/3/2014):
-----------------------------
Marc Gravell (@MarcGravell) / Stack Exchange недавно выпустили библиотеку StackExchange.Redis, которая в конечном итоге заменит Booksleeve. Эта новая библиотека, среди прочего, внутренне обрабатывает повторные подключения и делает мой вопрос излишним (то есть, он не излишен ни для Booksleeve, ни для моего ответа ниже, но я полагаю, что лучшим способом будет начать использовать новую библиотеку StackExchange.Redis).