Кэширование в Grails - что кэшируется по умолчанию и что можно включить? - PullRequest
2 голосов
/ 19 июля 2011

Мне любопытно, что поддержка кэширования объектов базы данных / GORM предоставляется платформой Grails.

  • Какое кэширование базы данных включено по умолчанию?
  • Какое кэширование базы данных предоставляется платформой, но по умолчанию отключено?
  • Какой тип кэширования базы данных вы обычно включаете / отключаете в своих проектах Grails? Почему?

Ответы [ 2 ]

5 голосов
/ 19 июля 2011

Grails использует Hibernate для GORM, поэтому функции кэширования базы данных фактически предоставляются Hibernate.

  1. Включен кэш первого уровня Hibernate (который длится только приблизительно время запроса пользователя).Его нельзя отключить.

  2. Кэш второго уровня Hibernate также включен, но его можно отключить при настройке.Этот кэш будет хранить данные в течение длительного времени (настраивается по типу объекта), если только данные не делают недействительными (обновление)

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

С уважением,

Vincent

0 голосов
/ 19 июля 2011

3) Мы отключили переполнение дискового кэша.Пришлось явно создать ehcache.xml для этого из ehcache-core-1.7.1.jar/ehcache-failsafe.xml.

. Переполнение дискового кэша создало для нас проблемы только из-за его медленной и подверженной ошибкам ввода-вывода.

...