Можно / нужно отключить истечение срока действия кэша, когда резервное хранилище данных недоступно? - PullRequest
0 голосов
/ 12 августа 2011

Я только начал работать с Ehcache, и пока все выглядит довольно хорошо.Я использую его в упрощенном виде для ускорения чтения из базы данных, но мне интересно, могу ли я также использовать его, чтобы приложение продолжало работать, если база данных недоступна в течение коротких периодов времени.(Обновление - мой контекст - это приложение с модулями высокой доступности, которые только читают из базы данных)

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

Что вы думаете?Это разумный подход или я что-то пропустил?Если это справедливый подход, любые советы о том, как лучше реализовать, приветствуются.

Обновление - ehcache поддерживает динамически настраиваемую опцию, позволяющую деактивировать / установить кэш «вечным».Кажется, это делает то, что мне нужно.

1 Ответ

1 голос
/ 12 августа 2011

Интересный вопрос - обычно ответом будет «все зависит».

Во-первых, если у вас есть проблемы с надежностью базы данных, я бы потратил время и энергию на их устранение, а не на решение проблемы.

Во-вторых, большинству приложений для работы нужно и чтение, и запись - кажется, не имеет смысла держать ваше приложение только для чтения.

Однако, если ваше приложение имеет подлинную функцию «только для чтения», и существует известная и контролируемая причина простоя базы данных (например, резервных копий), то да, вы можете использовать свой кэш, чтобы приложение работало, пока база данных не работает Я бы сделал это, расширив периоды кэширования, а не пытаясь кодировать конкретные крайние случаи. Например, у вас может быть фоновый процесс, который проверяет, доступна ли база данных, и заменяет другой файл конфигурации при возникновении проблем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...