Где и как проверить, что кеш в спящем режиме действительно работает - PullRequest
28 голосов
/ 03 ноября 2011

Я новичок в области кэша спящего режима.

  1. Какой самый простой способ проверить работоспособность кэша?
  2. Собирает ли Hibernate те же операторы SQL при включенном кэше?
  3. Должен ли он быть любымпапка / файл в файловой системе с сохраненными данными (кэш второго уровня)?
  4. Как проверить, сколько кеша используется в настоящее время?

С уважением, Марсин

Ответы [ 2 ]

20 голосов
/ 03 ноября 2011
  1. Вы можете включить Генерацию статистики Hibernate , установив для свойства hibernate.generate_statistics значение true. Затем вы можете отслеживать число попаданий в кэш через SessionFactory.getStatistics().

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

  2. Это зависит от многих факторов. См. 21.2. Кэш второго уровня и 21.4. Кеш запросов

  3. Это зависит от поставщика кеша и его конфигурации. Например, EhCache можно настроить для переполнения на диск.

  4. SessionFactory.getStatistics().getSecondLevelCacheStatistics() предоставляет эту информацию.

6 голосов
/ 07 ноября 2011

Я нашел хороший инструмент , который визуализирует использование в спящем режиме (также кеширует).Кроме того, в этих статьях (часть первая) есть довольно хорошее объяснение того, как работает кэш гибернации (см. Также ссылки по теме).Также есть хороший пример с этапами анализа.

В любом случае, спасибо за ответы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...