Как реализовать клиент ServiceStack Redis с тайм-аутом

Мы реализуем шаблон, в котором наш клиент проверяет, существует ли документ в Redis, и если это не так, мы извлекаем данные из базы данных.

Мы пытаемся обработать случай, когда сервер Redis не работает или недоступен, чтобы мы могли немедленно получить данные из базы данных.

Однако, когда мы тестируем наш код, намеренно отключая сервер Redis, вызов Redis через клиент ServiceStack не прерывается примерно на 20 секунд.

Мы пытались использовать свойство RedisClient .SendTimeout для различных значений (1000, 100, 1), но тайм-аут всегда происходит примерно через 20 секунд. Мы также пытались использовать метод .Ping(), но столкнулись с той же проблемой.

Вопрос: как мы можем справиться со сценарием, когда сервер Redis не работает, и мы хотим быстрее переключиться на выборку БД?

6
задан Pete Lunenfeld 20 March 2012 в 21:52
поделиться