二级缓存:

  定义:

      1.二级缓存被称为进程级缓存或者sessionFactory级缓存,二级缓存可以被所有session共享

      2.二级缓存的生命周期和sessionFactory生命周期一样(sessionFactory生命周期需要在配置中设定),sessionFactory可以管理二级缓存

      3.二级缓存的数据是一级缓存放入的,也就是说二级缓存与一级缓存雷同,也是存放的实体类对象,对普通属性不执行缓存策略,不同的是生命周期的不同,二级缓存可以共享

  二级缓存需要配置才能够生效:

    1.引入第三方包ehcache

    2.在hibernate.cfg配置:

    我们需要配置三个地方: 一个是驱动提供,二个是 开启二级缓存,三个是配置需要缓存的实体类

 <!-- 二级缓存驱动提供 -->
<property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
<!-- 二级缓存 -->
<property name="hibernate.cache.use_second_level_cache">true</property>
      
<!-- 缓存配置 -->
<class-cache usage="read-only" class="entity.Grade"/>
<!--与grade关联的对象 -->
<class-cache usage="read-only" class="entity.Student"/>
<collection-cache usage="read-only" collection="entity.Grade.stu"/>

    注意:

      1.由于hibernate.cache.use_second_level_cache默认是开启的,我们也可以省略不写

      2.常用缓存策略:read-only / read-write

      3.缓存原则:读远大于写的时候使用缓存

    二级缓存在配置中开启时:

      当业务不需要使用二级缓存时:

      HibernateUtils.getSessionFactory.evict(实体对象.class);

      or

      HibernateUtils.getSessionFactory.evict(实体对象.class,1);//指定具体

      当我们不希望查询结果保存到二级缓存中:

      session.setCacheMode(CacheMode.IGNRE);//可以取消一级缓存和二级缓存之间的交互,这样可以达到当前sesison不能狗向二级缓存中保存数据

    补充:

      昨天笔记中提到大数据缓存处理,当我们开启二级缓存时,session.flush()    session.clear()只能清除session级缓存,那么sessionFactory级/二级缓存怎么处理:

      这里我在视频中学习到一种方法:

      在save 或这查询前  取消一级缓存和二级缓存之间的交互,达到目的  

    

      

Hibernate <二级缓存>的更多相关文章

  1. Hibernate ——二级缓存

    一.Hibernate 二级缓存 1.Hibernate 二级缓存是 SessionFactory 级别的缓存. 2.二级缓存分为两类: (1)Hibernate内置二级缓存 (2)外置缓存,可配置的 ...

  2. 配置Hibernate二级缓存时,不能初始化RegionFactory的解决办法

    配置Hibernate 二级缓存时,出现以下bug提示: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder&quo ...

  3. 配置Hibernate二级缓存步骤

    配置Hibernate二级缓存步骤: 加入二级缓存的jar包及配置文件 jar包位置:hibernate-release-4.1.8.Final\lib\optional\ehcache下所有jar包 ...

  4. Hibernate 二级缓存 总结整理(转)

    和<Hibernate 关系映射 收集.总结整理> 一样,本篇文章也是我很早之前收集.总结整理的,在此也发上来 希望对大家有用.因为是很早之前写的,不当之处请指正. 1.缓存:缓存是什么, ...

  5. Hibernate(十六):Hibernate二级缓存

    Hibernate缓存 缓存(Cache):计算机领域非常通用的概念.它介于应用程序和永久性数据存储源(如磁盘上的文件或者数据库)之间,起作用是降低应用程序直接读取永久性数据存储源的频率,从而提高应用 ...

  6. hibernate二级缓存demo2

    @Test public void hello3(){ Session session=sessionFactory.openSession(); List list = session.create ...

  7. hibernate二级缓存整合

    <?xml version="1.0" encoding="UTF-8"?> <ehcache xmlns:xsi="http:// ...

  8. ssh整合hibernate 使用spring管理hibernate二级缓存,配置hibernate4.0以上二级缓存

    ssh整合hibernate 使用spring管理hibernate二级缓存,配置hibernate4.0以上二级缓存 hibernate  : Hibernate是一个持久层框架,经常访问物理数据库 ...

  9. spring boot集成ehcache 2.x 用于hibernate二级缓存

    https://www.jianshu.com/p/87b2c309b776 本文将介绍如何在spring boot中集成ehcache作为hibernate的二级缓存.各个框架版本如下 spring ...

  10. js相关(easyUI),触发器,ant,jbpm,hibernate二级缓存ehcache,Javamail,Lucene,jqplot,WebService,regex,struts2,oracle表空间

    *********************************************js相关********************************************* // 在指 ...

随机推荐

  1. 使用HttpWebrequest对网站进行模拟操作(附登陆百度demo)

    // a[href=#viewSource]"); //查看源代码标签 viewSourceArr.attr("title", "查看源代码"); v ...

  2. JS,分页

    <!DOCTYPE html><html lang="en"><head> <meta charset="utf-8" ...

  3. 关键字static/const的作用

    static关键字的作用:(1)设置变量的存储域,函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值:(2)限制变量的作用域 ...

  4. 【转】SQL Server中关于跟踪(Trace)那点事

    前言 一提到跟踪俩字,很多人想到警匪片中的场景,同样在我们的SQL Server数据库中“跟踪”也是无处不在的,如果我们利用好了跟踪技巧,就可以针对某些特定的场景做定向分析,找出充足的证据来破案. 简 ...

  5. mvc ajax dropdownlist onchang事件响应

    <script type="text/javascript"> $("#Cycle").on("change", functio ...

  6. LaTex学习笔记——LaTeX公式换行

    ps.  1.“\!” 表示其前后字符之间无间隙        2.暂留        3.段落中的数学表达式应该置于( 和), $ 和$ 或者begin{math} 和end{math} 之间.   ...

  7. Oracle权限和数据类型

    oracle创建用户: CREATE USER 用户名 IDENTIFIED BY 口令 [ACCOUNT LOCK|UNLOCK] [注]LOCK|UNLOCK创建用户时是否锁定,默认为锁定状态.锁 ...

  8. 多列布局——column-count

    column-count属性主要用来给元素指定想要的列数和允许的最大列数.其语法规则: column-count:auto | <integer> 取值说明: 属性值 属性值说明 auto ...

  9. windows系统调用 调度优先级

    #include "iostream" #include "windows.h" using namespace std; class CWorkerThrea ...

  10. ligerui_ligerTree_007_ligerTree动态加载节点

    ligerui:ligerTree:动态加载节点: 源码地址:http://download.csdn.net/detail/poiuy1991719/8571255 效果图: 代码:json.txt ...