Как настроить кеширование БД по расписанию обновлений

Я использую внешний источник данных для одного из моих приложений. Эта база данных обновляется каждую ночь, но после обновления она статическая. (AWS, Redshift, PostgreSQL).

В ColdFusioin некоторые запросы в моем приложении кэшировались в течение небольших промежутков времени - 30 минут, чтобы все работало быстрее. Но я подумал: если база данных не обновляется ежедневно, разве я не могу сделать что-то вроде cachedAfter текущая дата 8:00 утра или что-то в этом роде? Затем каждый день в 8:00 кеши очищаются?

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

SELECT * WHERE a = <cfqueryparam value="#ARGUMENTS.a#" cfsqltype="cf_sql_int" />

Если значение a Изменения в аргументах, CF достаточно умен, чтобы рассматривать его как другой запрос, верно? В документах говорится, что он будет кэшироваться только в том случае, если запрос одинаков, но означает ли это одинаковую настройку или одно и то же, все включает значения параметров?

Если это правда, кажется, что было бы разумно просто кэшировать все запросы в определенное время каждый день. Я получил бы огромный прирост производительности, поскольку база данных Redshift, хотя и быстрая, требует времени на обработку некоторых из этих более крупных запросов. С какими подводными камнями я могу столкнуться?

0 ответов

Другие вопросы по тегам