Хорошая или плохая практика для сохранения результата запроса в Application.cfc - PullRequest
2 голосов
/ 07 июня 2011

В моем приложении у меня есть боковая панель (на каждой странице), которая отображает список вакансий для небольшой компании.Разумно ли выполнить запрос в Application.cfc и как-то сохранить результаты там, или есть более разумный способ выполнить запрос и сохранить результаты где-нибудь еще в другой области видимости?

Как лучше всего использоватьресурсы сервера?

Заранее спасибо.

Редактировать: Я использую CF8.Обновления, вероятно, будут происходить ежемесячно.

Ответы [ 4 ]

3 голосов
/ 07 июня 2011

У вас есть CF9? Я бы использовал область приложения, либо кэшируя запрос, либо результирующий HTML в объекте кеша, используя cachePut (), и вызывая объект кеша, где это необходимо, с cacheGet (). Затем, где бы вы ни управляли обновлением этой информации (либо CRUD вручную, либо веб-сервисом, потребляющим эту информацию и т. Д.), Просто обязательно обновляйте этот объект кэша, когда вы почувствуете изменение. Заполните объект кеша изначально в onApplicationStart (), и вам будет хорошо.

2 голосов
/ 07 июня 2011

Используется cachedwithin в cfquery, который вызывает боковая панель.

0 голосов
/ 07 июня 2011

Как часто меняются вакансии?Вы можете сохранить их в приложении и назначить запланированное задание для периодического повторного выполнения запроса.

0 голосов
/ 07 июня 2011

Если результат зависит от пользовательского сеанса, на ум приходит объем сеанса.Область применения будет обновляться только при перезапуске сервера, верно?Что касается ресурсов, то очевидно, что для сервера лучше загружать результаты только один раз, когда они запрашиваются впервые (область приложения).Но также очевидно, что эти результаты быстро (или скоро) станут устаревшими.

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

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

...