SSH框架之Hibernate的二级缓存

二级缓存
一、引入
1、Hibernate提供的缓存
有一级缓存、二级缓存。 目的是为了减少对数据库的访问次数,提升程序执行效率!

2、一级缓存:
1)基于Session的缓存,缓存内容只在当前session有效,session关闭,缓存内容失效!
2)特点:
a)作用范围较小! 缓存的时间短。
b)缓存效果不明显。

二、概述
1、二级缓存:Hibernate提供了基于应用程序级别的缓存, 可以跨多个session,即不同的session都可以访问缓存数据。 这个换存也叫二级缓存。

2、Hibernate提供的二级缓存有默认的实现,且是一种可插配的缓存框架!如果用户想用二级缓存,只需要在hibernate.cfg.xml中配置即可; 不想用,直接移除,不影响代码。
3、如果用户觉得hibernate提供的缓存框架不好用,自己可以换其他开源的缓存框架或自己实现缓存框架都可以。

三、使用二级缓存
1、查看hibernate.properties配置文件,二级缓存如何配置:

##########################
### Second-level Cache ###
##########################

#hibernate.cache.use_second_level_cache false【二级缓存默认不开启,需要手动开启,false—>true】

#hibernate.cache.use_query_cache true      【开启查询缓存】

## choose a cache implementation        【二级缓存框架的实现】

#hibernate.cache.provider_class org.hibernate.cache.EhCacheProvider
#hibernate.cache.provider_class org.hibernate.cache.EmptyCacheProvider
hibernate.cache.provider_class org.hibernate.cache.HashtableCacheProvider 默认实现
#hibernate.cache.provider_class org.hibernate.cache.TreeCacheProvider
#hibernate.cache.provider_class org.hibernate.cache.OSCacheProvider
#hibernate.cache.provider_class org.hibernate.cache.SwarmCacheProvider

2、二级缓存使用步骤:
1)开启二级缓存。
2)指定缓存框架。
3)指定那些类加入二级缓存。

4)测试二级缓存
a)不使用二级缓存:

b)使用二级缓存:

四、缓存策略
1、分类

放入二级缓存的对象,状态为只读; 
<class-cache usage="read-only"/>  
非严格的读写,效率会高一些   
<class-cache usage="nonstrict-read-write"/> 
放入二级缓存的对象可以读、写; 
<class-cache usage="read-write"/>
(基于事务的策略)    
<class-cache usage="transactional"/>   

2、应用:
1)策略为只读:

运行结果:

2)策略为读写:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值