hibernate二级缓存机制

二级缓存不像一级缓存那样默认开启的,它需要配置。二级缓存中的数据可适用范围是当前应用的所有会话


在这些情况下面应该使用二级缓存:

1.很少被修改的数据。如果经常修改的话要修改数据库而且要修改缓存里面的,所以效率比较低下

2.不是很重要的数据,允许出现偶尔并发的数据。

3.不会被并发访问的数据。

4.参考数据。


配制方法如下:

1.添加二级缓存的jar包(ehcache.jar和它所依赖的commons-logging.jar)

2.在hibernate的配置文件中添加provider类的描述

hibernate.cfg.xml
-------------------
<!-- hibernate 4.0以后配置二级缓存 -->
<property name="hibernate.cache.use_second_level_cache">true</property>
<property name="hibernate.cache.region.factory_class">
org.hibernate.cache.ehcache.EhCacheRegionFactory</property>


<!-- hibernate 3.3配置二级缓存 -->
<property name="hibernate.cache.use_second_level_cache">true</property>

<!-- 指定二级缓存外部实现类 -->
<property name="cache.provider_class">net.sf.ehcache.hibernate.EhCacheProvider</property>

3.添加二级缓存的属性配置文件

ehcache.xml

4.在需要被缓存的表对应的映射文件(hbm.xml)中添加<cache/>标签

<h-m>

<class>

<cache usage="read-only"/>

<id/>

</class>

</h-m>

usage是指定缓存策略:transactional,read-write,nonstrict-read-write\read-only

region是指定二级缓存区域名,在ehcache.xml可配置

include指定是否缓存延迟加载的对象。all,表示缓存所有对象,non-lazy,表示不缓存延迟加载的对象



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值