Hibernate 缓存策略
第一章节:
什么是缓存?
并不是指计算机的内存或者CPU的一二级缓存。
缓存是指为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能的一种策略。
为什么使用缓存?
ORM框架访问数据库的效率直接影响应用程序的运行速度,提升和优化ORM框架的执行效率至关重要。
Hibernate的缓存是提升和优化Hibernate执行效率的重要手段,所以学会Hibernate缓存的使用和配置是优化的关键。
第二章节:
看完代码你发现了什么:
1,第二次查询同一个对象时,并没有再次执行数据库查询
2,在不同的session中多次查询同一对象时,会执行多次数据库查询
3,一级缓存中,持久化类的每个实例都具有唯一的OID
第三节:
介绍Hibernate一级缓存
1,Hibernate一级缓存又称为“Session缓存”,“会话级缓存”
2,通过Session从数据库查询实体时会把实体在内存中存储起来,下一次查询同一实体时不再从数据库获取,而从内存中获取,这就是缓存
3,一级缓存的生命周期和Session相同;Session销毁,它也销毁。
4,一级缓存中的数据可适用范围在当前会话之内。
第四章:
二级缓存的应用
问题:有些常用的数据,在一个session中缓存以后,我们希望在其他session中能够直接使用,而不用再次缓存怎么办?
回答:使用高级别的二级缓存,每个session共用的缓存。
二级缓存的配置步骤:
添加二级缓存对应的jar包
在hibernate的配置文件中添加Provider类的描述
添加二级缓存的属性配置文件
在需要被缓存的表所对应的映射文件中添加<cache/>标签
二级缓存的介绍:
二级缓存又称为“全局缓存”,“应用级缓存”
二级缓存中的数据可使用范围是当前应用的所有会话。
二级缓存是可插拔式缓存,默认是EHCache,还支持其他二级缓存组件如:Hashtable/OSCache、SwarmCache、JBoss TreeCache等。