hibernate三级缓存概括
2015-10-12 00:00
253 查看
摘要: 对hibernate三级缓存的个人理解与学习
Hibernate三级缓存
一级缓存(session级别缓存):
1、session关闭后,缓存就没了;hibernate发出一条sql查询,若缓存中没有,则从数据库中查,查到之后放入缓存
2、以id为key值缓存对象
二级缓存(sessionFactory级别缓存):
1.hibernate没有提供相应的二级缓存组件,所以需要额外的二级缓存包EHcache
2.hibernate二级缓存存的仅仅是对象,就算只想查询这个对象的某几个属性,还是会把这个对象的所有信息查询出来。
3.当一级缓存关闭之后,一级缓存就失效了,若这个对象配置了二级缓存,就算session关闭,hibernate会从二级缓存(sessionFactory)中查到数据。
三级缓存(查询缓存:sessionFactory级别):
1、查询缓存是专门针对各种查询操作进行缓存。查询缓存会在整个SessionFactory的生命周期中起作用,存储的方式也是采用key-value的形式来进行存储的。
2、查询缓存中的key是根据查询的语句、查询的条件、查询的参数和查询的页数等信息组成的。而数据的存储则会使用两种方式,使用SELECT语句只查询实体对象的某些列或者某些实体对象列的组合时,会直接缓存整个结果集。而对于查询结果为某个实体对象集合的情况则只会缓存实体对象的ID值,以达到缓存空间可 以共用,节省空间的目的。
3、在使用查询缓存时,除了需要设置hibernate.cache.provider_class参数来启动二级缓存外,还需要通过hibernate.cache.use_query_cache参数来启动对查询缓存的支持。
注:缓存一般只对查询比较对,更改比较少的数据进行设置,若修改较多反而会影响hibernate的效率。
Hibernate三级缓存
一级缓存(session级别缓存):
1、session关闭后,缓存就没了;hibernate发出一条sql查询,若缓存中没有,则从数据库中查,查到之后放入缓存
2、以id为key值缓存对象
二级缓存(sessionFactory级别缓存):
1.hibernate没有提供相应的二级缓存组件,所以需要额外的二级缓存包EHcache
2.hibernate二级缓存存的仅仅是对象,就算只想查询这个对象的某几个属性,还是会把这个对象的所有信息查询出来。
3.当一级缓存关闭之后,一级缓存就失效了,若这个对象配置了二级缓存,就算session关闭,hibernate会从二级缓存(sessionFactory)中查到数据。
三级缓存(查询缓存:sessionFactory级别):
1、查询缓存是专门针对各种查询操作进行缓存。查询缓存会在整个SessionFactory的生命周期中起作用,存储的方式也是采用key-value的形式来进行存储的。
2、查询缓存中的key是根据查询的语句、查询的条件、查询的参数和查询的页数等信息组成的。而数据的存储则会使用两种方式,使用SELECT语句只查询实体对象的某些列或者某些实体对象列的组合时,会直接缓存整个结果集。而对于查询结果为某个实体对象集合的情况则只会缓存实体对象的ID值,以达到缓存空间可 以共用,节省空间的目的。
3、在使用查询缓存时,除了需要设置hibernate.cache.provider_class参数来启动二级缓存外,还需要通过hibernate.cache.use_query_cache参数来启动对查询缓存的支持。
注:缓存一般只对查询比较对,更改比较少的数据进行设置,若修改较多反而会影响hibernate的效率。
相关文章推荐
- 项目问题总结二、hibernate和多线程同时使用需要注意
- EhCache使用详细介绍
- hibernate缓存
- Hibernate缓存
- Hibernate中配置ehcache案例
- hibernate一级缓存和二级缓存
- hibernate缓存策略
- hibernate一级缓存和二级缓存的区别
- Hibernate缓存机制
- Hibernate之二级缓存
- hibernate 缓存机制
- hibernate缓存学习之【一级缓存】
- Hibernate 一二级缓存的使用场景
- hibernate的缓存机制(一)
- hibernate缓存机制(二)
- hibernate缓存机制(三)
- Hibernate二级缓存详解
- Hibernate二级缓存详解
- 关于MMX多媒体扩展指令集的优势分析
- aa