Я использую Hibernate 4.1.7 и EhCache в качестве кеша второго уровня. Я реализую услугу отдыха, чтобы очистить cahce (выселить все регионы) по мере необходимости.
Ниже приведен фрагмент кода
org.hibernate.stat.Statistics statistics = HibernateUtil.getSessionFactory().getStatistics();
statistics.setStatisticsEnabled(true);
long hits = statistics.getSecondLevelCacheHitCount();
long misses = statistics.getSecondLevelCacheMissCount();
long puts = statistics.getSecondLevelCachePutCount();
logger.info("Hits: " + hits + " Misses: " + misses + " Puts:" + puts);
cache.evictEntityRegions();
hits = statistics.getSecondLevelCacheHitCount();
misses = statistics.getSecondLevelCacheMissCount();
puts = statistics.getSecondLevelCachePutCount();
logger.info("Hits: " + hits + " Misses: " + misses + " Puts:" + puts);
long hit0 = statistics.getQueryCacheHitCount();
long miss0 = statistics.getSecondLevelCacheMissCount();
К сожалению, после удаления всех регионов я получаю одинаковые значения для попаданий / промахов и размещений.