hibernate 二级缓存总结

hibernate 二级缓存总结

ID:18371991

大小:64.50 KB

页数:13页

时间:2018-09-17

hibernate 二级缓存总结_第1页
hibernate 二级缓存总结_第2页
hibernate 二级缓存总结_第3页
hibernate 二级缓存总结_第4页
hibernate 二级缓存总结_第5页
资源描述:

《hibernate 二级缓存总结》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、缓存可以简单的看成一个Map,通过key在缓存里面找value。 一、缓存简介 CacheInHibernateHIBERNATE中的CACHE有两级.一级是在Session范围内的CACHE.即每个Session有自己的一个CACHE,当前操作的对象都会被保留在CACHE中.但是Session关闭后这个CACHE也就没有.可见这级CACHE的生命期是很短的.(使用id进行关键字存储:缓存的key就是ID,value是POJO)(缓存的是实体对象)另一级CACHE是在SessionFactory范围的,可以被来自同一个Sessi

2、onFactory的Session共享.在HIBERNATE的文档中称其为SECONDLEVELCACHE.显然后者的优势较明显,也比较复合当前的使用环境.  它可以使用不同的缓存实现,如EhCache、JBossCache、OsCache等(二级缓存是缓存实体对象的)还有一个类型的CACHE就是QueryCache.它的作用就是缓存一个Query以及Query返回对象的Identifier以及对象的类型.有了QueryCache后就可以高效的使用SECONDLEVELCACHE.hibernate查询缓存(hibernate默

3、认是关闭的)查询缓存是针对普通属性结果集的缓存对实体对象的结果集只缓存id查询缓存的生命周期,当前关联的表发生修改,那么查询缓存生命周期结束查询缓存的配置和使用:1.启用查询缓存:在hibernate.cfg.xml中加入:true2.在程序中必须手动启用查询缓存,如:query.setCacheable(true);QueryCache用来缓存查询语句,及查询结果集中对象的Identifier与Type.当再次

4、使用已缓存的Query时,就可以通过对象的Identifier与Type在SECONDLEVELCACHE中查找实际的对象.对于查询缓存来说,缓存的key是根据hql生成的sql,再加上参数,分页等信息(可以通过日志输出看到,不过它的输出不是很可读,最好改一下它的代码)。  注:一级缓存也叫session级的缓存或事务缓存。Hibernate二级缓存也称为进程级的缓存或SessionFactory级的缓存。二级缓存是全局缓存,它可以被所有的session共享。二级缓存的生命周期和SessionFactory的生命周期一致,Ses

5、sionFactory可以管理二级缓存。  二、缓存的范围缓存的范围分为3类:1.事务范围    事务范围的缓存只能被当前事务访问,每个事务都有各自的缓存,缓存内的数据通常采用相互关联的对象形式.缓存的生命周期依赖于事务的生命周期,good,noloosening.6.5.2DCSsidewiringtocompletetheenclosureandtheothersideafterthewiringiscompleted,DCSwithintheenclosurewhenthepowermoduleshouldbeloosen

6、edorthepowergoesout.6.6lowvoltagecableterminalmaking6.6.1first只有当事务结束时,缓存的生命周期才会结束.事务范围的缓存使用内存作为存储介质,一级缓存就属于事务范围.2.应用范围    应用程序的缓存可以被应用范围内的所有事务共享访问.缓存的生命周期依赖于应用的生命周期,只有当应用结束时,缓存的生命周期才会结束.应用范围的缓存可以使用内存或硬盘作为存储介质,二级缓存就属于应用范围.3.集群范围    在集群环境中,缓存被一个机器或多个机器的进程共享,缓存中的数据被复制到

7、集群环境中的每个进程节点,进程间通过远程通信来保证缓存中的数据的一致,缓存中的数据通常采用对象的松散数据形式.三、缓存的方式有四种,分别为:  CacheConcurrencyStrategy.NONE  CacheConcurrencyStrategy.READ_ONLY,只读模式,在此模式下,如果对数据进行更新操作,会有异常;  CacheConcurrencyStrategy.READ_WRITE,读写模式在更新缓存的时候会把缓存里面的数据换成一个锁,其它事务如果去取相应的缓存数据,发现被锁了,直接就去数据库查询;  Ca

8、cheConcurrencyStrategy.NONSTRICT_READ_WRITE,不严格的读写模式则不会的缓存数据加锁;  CacheConcurrencyStrategy.TRANSACTIONAL,事务模式指缓存支持事务,当事务回滚时,缓存也能回滚,只

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。