这段时间想系统地研究下ehcache,就开始搜相关方面的博客/帖子,今天看到这篇博文(http://hi.baidu.com/eclipse256/blog/item/5443b35196623b1c367abebd.html)后有些不解之处,记录下来.
1.1. 数据库访问只有当检索的数据不在cache里可用时才必要。hibernate可以用两种不同的对象缓存:first-level cache 和 second-level cache。first-level cache和Session对象关联,而second-level cache是和Session Factory对象关联。
?1, 当DB中的数据有更后怎么处理? Hibernate自身好像有些配置可以做到.. 但做到的也只是用配置把缓存的时间缩短.也不能做到当DB中有数据变化时Hibernate来自动更新吧?
?2, 上面说first-levelCache跟Session关联的,而second-levelCache跟SessionFactory对象关联,这两种不同的关联有什么不同?在配置上有什么不同?
?3, " Hibernate用first-level cache主要是减少在一个事务内的sql查询数量。例如,如果一个对象在同一个事务内被修改多次,hibernate将只生成一个包括所有修改的 UPDATE SQL语句。为了减少数据流动,second-level cache在Session Factory级的不同事务之间保持load的对象,这些对象对整个应用可用,不只是对当前用户正在运行的查询。这样,每次查询将返回已经load在缓存里的对象,避免一个或更多潜在的数据库事务。"
first-level cache主要是针对一个单独事务做的缓存, 而second-level cache就是对整个Application做的缓存了. 那这两个层面的缓存都有同样的问题:若DB中数据有更新而缓存中数据还没有expire,这样就造成数据的不一致了.
这个问题的所帮助的是: 所有更新都是通过Hibernate自身的一级缓存来更新的,这样是否能顺手把缓存中的数据也更新下? 这样一来问题又变成Ehcache中的数据能否更新?如何配置?
还有一个问题就是: Hibernate会自动更新缓存里的数据,但这也仅仅是针对一个Session中的一个事务而言的,那若一个Session关闭后其缓存的数据不也就失去其意义了?对别的session又没有影响.
1.2 还是第一次对Jar包做整体的Mapping:
<property name="mappingJarLocations">
<list><value>file:dist/appfuse-dao.jar</value></list>
</property>
1.3 对hibernate获取的数据原来还可以有选择地配置: 默认是只对load来的数据有缓存,配置了hibernate.cache.use_query_cache true后才能对别的像findAll(),list(),createQueryt()这样方法返回的数据有缓存.那么一个问题是: 这样的方法命名有无规律? 比如说像convention over configuration这样的规则? 还是随意的?毕竟这些方法最终都转化为sql的select语句.这样Hibernate就可以对那样最终转化为sql中select语句的方法进行缓存了,而不仅仅是对load做缓存.
1.4 <cache usage="read-only"/> 既然有read-only,那也应该就有相应的"writable"配置.这个配置是有哪个文件中?ehcache的配置文件里?还是hibernate自身的配置文件里?
分享到:
相关推荐
编程随想博客文集 2010
JavaEye博文JavaEye博文JavaEye博文JavaEye博文JavaEye博文
博文视点专业书目2006年第一期有兴趣的可以下载了解.
dvwa安装记录,建议参考博文
点击博文视点 HTTP协议 测试,http协议测试,不要下载,谢谢 点击博文视点 HTTP协议 测试,http协议测试,不要下载,谢谢 点击博文视点 HTTP协议 测试,http协议测试,不要下载,谢谢 点击博文视点 HTTP协议 测试,...
NULL 博文链接:https://turingbooks.iteye.com/blog/496014
新浪博文下载工具,用于下载博客连载小说,保存下载结果为txt文本。
博文网碟是一款很小的网络虚拟光驱工具,支持iso文件及在线下载光盘镜像文件
一个Sqrt函数引发的血案-博文代码 博文地址:
博文网蝶----最好的虚拟光驱之一 ------------ 简单易用全能!
博文图书销售管理系统
博文 网碟 虚拟 光驱 博文 网碟 虚拟 光驱
Setup_WebClient 博文网碟 Setup_WebClient 可以打开.hot文件 图书馆下载光盘
关于高性能网站的PHP使用说明、PHP内核研究、快速建立web应用骨架等精彩博文 。教你对PHP从入门到精通。欢迎大家分享下载。
文章链接:https://blog.csdn.net/weixin_46137192/article/details/118032287 该资源适用于此博文
博文高中一年级期中试题.doc
本软件LSGo来源于个人独创用于旅游博文的记录具有众多丰富的功能可以拍照片发微信记录gps路径并在地图中显示查看日志分享日志到朋友圈加驴友查看附近的游客等.rar,太多无法一一验证是否可用,程序如果跑不起来需要自...
有数据库,可运行,包括前后台,后台管理员登陆成功后可以发布博文,对博文进行修改等。。。。。
博文网碟 虚拟光驱 ISO,用于打开ISO文件,非常好用
博文主题HTML5网页模板是一款浅绿色扁平风格的HTML5网页模板下载。