Hibernatecaching PDF
Hibernatecaching PDF
Topics
What is Caching?
Hibernate caching
Second-Level Caching implementations
Second-Level Caching strategies
Hibernate performance monitoring
Caching
3
What is Caching?
Hibernate
Caching
5
First-level cache
Second-level cache
First-level Cache
Second-level Cache
Query-level Cache
9
Query-level Cache
10
Second-Level Cache
Implementations
11
Cache Implementations
EHCache (org.hibernate.cache.EhCacheProvider)
OSCache (org.hibernate.cache.OSCacheProvider)
SwarmCache
(org.hibernate.cache.SwarmCacheProvider)
JBoss TreeCache
(org.hibernate.cache.TreeCacheProvider)
EHCache
13
OSCache
14
SwarmCache
15
JBoss TreeCache
16
Cache Strategies
(for Second-Level)
17
Caching Strategies
Read-only
Read/write
Nonstrict read/write
Transactional
18
19
20
21
23
24
Cache Configuration
25
Monitoring
Performance
27
Statistics
28
Statistics Interface
29
Statistics Interface
30
Example Code
Statistics stats = HibernateUtil.sessionFactory.getStatistics();
double queryCacheHitCount = stats.getQueryCacheHitCount();
double queryCacheMissCount = stats.getQueryCacheMissCount();
double queryCacheHitRatio =
queryCacheHitCount / (queryCacheHitCount +
queryCacheMissCount);
log.info("Query Hit ratio:" + queryCacheHitRatio);
EntityStatistics entityStats =
stats.getEntityStatistics( Cat.class.getName() );
long changes =
entityStats.getInsertCount()
+ entityStats.getUpdateCount()
+ entityStats.getDeleteCount();
log.info(Cat.class.getName() + " changed " + chang
31
Thank You!
32