Railo; Укажите, был ли обновлен кэшированный запрос - PullRequest
2 голосов
/ 02 ноября 2011

Исходная ситуация: Внутри функции я кеширую запрос, используя атрибут cachedWithin . Прямо под этим тегом cfquery Я кэширую производные и связанные данные в структуру, хранящуюся в области действия SERVER .

Проблема: Я хочу повторно заполнить эту структуру, если запрос выше был обновлен, но foo.cached только указывает на то, использует ли тег кэширование вообще. Предоставляет ли Railo дополнительные метаданные для фактического получения true, если этот запрос был обновлен, а не только, если он вообще кешируется, или я должен прибегнуть к cfcache обходному решению?

Ответы [ 2 ]

0 голосов
/ 17 февраля 2012

На всякий случай, если кому-то интереснобольшая часть сервера приложений была изменена в прошлом) Я прибег к другому подходу, основанному на классическом блоке cacheGet / cachePut.

Результирующая логика принятия решения о кэшировании основана на тайм-ауте последующей структуры, которая подается этим запросом.

0 голосов
/ 02 ноября 2011

Я считаю, что result.cached - это то, что вам нужно. Я только что протестировал пример запроса с небольшим промежутком времени cachedWithin, и ему было присвоено значение false в двух случаях: (1) когда записи добавлены ; (2) когда произошел тайм-аут. Итак, ваше первое предположение выглядит нормально.

...