Регулярное обновление кэша

Если записи кэша не удаляются при изменении данных в основных базах данных, в ответ на запросы потенциально могут возвращаться устаревшие результаты.

Необходимо оценить, приемлемо ли это. Возможно, следует разрешить содержание устаревших данных в кэше. Необходимо определить, какой уровень устаревших данных приемлем, а затем настроить набор правил (и следовать им) для отражения таких уровней.

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

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

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

Какова бы ни была ситуация, необходимо оценить, что приемлемо для неактуальной информации, возвращаемой пользователям.