Подтвердить что ты не робот

Где и как проверить, что кэш гибернации действительно работает

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

  • Каков самый простой способ проверить, действительно ли работает кеш?
  • Включает ли hibernate gonate те же самые операторы sql, когда кеш включен?
  • Должна ли быть какая-либо папка/файл в файловой системе с сохраненными данными (кеш второго уровня)?
  • Как проверить, сколько кешей используется в настоящее время?

С уважением, Marcin

4b9b3361

Ответ 1

  • Вы можете включить создание статистики гибернации, чтобы установить свойство hibernate.generate_statistics на true. Затем вы можете отслеживать счетчик хитов/пропусков кеша через SessionFactory.getStatistics().

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

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

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

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

Ответ 2

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

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