Grails, почему мой кеш становится недействительным? - PullRequest
1 голос
/ 10 марта 2012

Я кэшировал некоторые экземпляры домена и запросы в моем приложении grails. Я ожидаю, что после того, как в первый раз запросы будут обработаны в БД, последующие вызовы будут попадать только в кеш. Но я вижу, что периодически запросы достигают дБ (каждые 5-6 раз). В настоящее время данные не обновляются / не добавляются в базу данных. Я использую p6spy для проверки всех зарегистрированных запросов и не вижу никаких обновлений или вставок.

Есть ли какие-то дополнительные настройки, которые мне нужно настроить?

В настоящее время класс домена имеет

static mapping = {
cach true
}

Запросы типа findBy* имеют набор [cache:true].

1 Ответ

5 голосов
/ 11 марта 2012

Если вы не настроите Ehcache, ваши кэши будут использовать тайм-аут по умолчанию в 120 секунд.См. http://ehcache.org/ehcache.xml для примера файла с хорошим комментарием, который совпадает с файлом по умолчанию, который находится в банке Ehcache.

Вы можете настроить тайм-ауты, максимальное количество элементов в памяти, будь то разлив на диски т.д., создав ehcache.xml в вашем приложении.Поместите его в src / java, и он будет скопирован в путь к классам, и Ehcache увидит его и будет использовать ваш вместо значений по умолчанию.

...