Hibernate 缓存策略

第一章节:

什么是缓存?

      并不是指计算机的内存或者CPU的一二级缓存。

      缓存是指为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能的一种策略。

为什么使用缓存?

       ORM框架访问数据库的效率直接影响应用程序的运行速度,提升和优化ORM框架的执行效率至关重要。

        Hibernate的缓存是提升和优化Hibernate执行效率的重要手段,所以学会Hibernate缓存的使用和配置是优化的关键。

        
Hibernate 缓存策略
 
Hibernate 缓存策略
 

 

第二章节:

看完代码你发现了什么:


Hibernate 缓存策略
 

1,第二次查询同一个对象时,并没有再次执行数据库查询

2,在不同的session中多次查询同一对象时,会执行多次数据库查询

3,一级缓存中,持久化类的每个实例都具有唯一的OID



Hibernate 缓存策略
 
 第三节:

介绍Hibernate一级缓存

1,Hibernate一级缓存又称为“Session缓存”,“会话级缓存”

2,通过Session从数据库查询实体时会把实体在内存中存储起来,下一次查询同一实体时不再从数据库获取,而从内存中获取,这就是缓存

3,一级缓存的生命周期和Session相同;Session销毁,它也销毁。

4,一级缓存中的数据可适用范围在当前会话之内。


Hibernate 缓存策略
 

第四章:

       二级缓存的应用

问题:有些常用的数据,在一个session中缓存以后,我们希望在其他session中能够直接使用,而不用再次缓存怎么办?

回答:使用高级别的二级缓存,每个session共用的缓存。

 

二级缓存的配置步骤:

       添加二级缓存对应的jar包

       在hibernate的配置文件中添加Provider类的描述

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

       在需要被缓存的表所对应的映射文件中添加<cache/>标签


Hibernate 缓存策略
 


Hibernate 缓存策略
 
Hibernate 缓存策略
 
Hibernate 缓存策略
 二级缓存的介绍:

         二级缓存又称为“全局缓存”,“应用级缓存”

         二级缓存中的数据可使用范围是当前应用的所有会话。

         二级缓存是可插拔式缓存,默认是EHCache,还支持其他二级缓存组件如:Hashtable/OSCache、SwarmCache、JBoss TreeCache等。