hibernate缓存说明:
1.一级缓存(session级别缓存)
     一级缓存,不是用来提升性能,是用来处理事务的
2.二级缓存(sessionFactory级别缓存):
     二级缓存,对所有的session都有效,生命周期与sessionFactory相同,在项目启动时创建,项目关闭时销毁,是为了提升性能
     hibernate查询策略:Hibernate有2中查询机制:
     2.1 session
          session.save() update() delete() get() load()
          session方式每次执行一条记录,默认不用配置就支持二级缓存,因此,read-only 对session是有效的。
          在session中如果hibernate.cfg.xml中配置了read-only,则update()和delete()会操作失败,save()、get()和load()操作成功。
     2.2 HQL
          HQL方式用来执行对条记录:list() executeUpdate()
          二级缓存配置read-only,对HQL默认是无效的
          注意:HQL中没有save方法
 
-----------------------------------配置二级缓存说明-----------------------------------------
1.首先,工程中加入ehcache-xxx.jar包
2.(简单配置)然后,在hibernate.cfg.xml中添加下面配置:
// -- 配置二级缓存提供商EhCache,此处并不是缓存的jar包,而是缓存jar包的索引属性 --

<!-- 配置二级缓存 提供商EhCache,此处并不是缓存的jar包,而是缓存jar包的索引属性 -->
<property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
<!-- 配置哪些类支持缓存 -->
<class-cache usage="read-only" class="com.ssh.shop.model.Product"/>
 
3.(高级配置)再然后,从ehcache.jar包中找到ehcache-failsafe.xml文件,复制内容,然后在src目录下面新建ehcache.xml,将内容粘贴进去,修改里面的eh缓存参数:
 
<ehcache>
<!-- 如果缓存内存溢出,则存储到硬盘 -->
<diskStore path="java.io.tmpdir"/> <!--
<defaultCache
maxElementsInMemory="10000" :内存支持的最大对象数量
eternal="false" :对象是否永久有效,建议为false,这样下面的参数才有效
timeToIdleSeconds="60" :对象间隔周期(单位:秒),当在该周期内对象没有被访问,自动销毁
timeToLiveSeconds="120" :对象生命周期(单位:秒)
overflowToDisk="true" :是否支持溢出到硬盘
diskPersistent="false" :非web
diskExpiryThreadIntervalSeconds="120" :非web
memoryStoreEvictionPolicy="LRU" :对象替换策略
1.FIFO(先进先出,已淘汰)
2.LRU(最近最少策略,忽略访问频率,最早访问的会被替换)
3.LFU(最近最未使用测试,忽略访问先后时间,访问最少的会被替换):首页数据经常访问的不应该被替换,使用该策略
/>
-->
<defaultCache
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="60"
timeToLiveSeconds="120"
overflowToDisk="true"
diskPersistent="false"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LFU"
/>
</ehcache>
这样,在查询商品类的时候,刷新或者重新载入,都不会查询数据库,而是查询缓存

hibernate缓存说明的更多相关文章

  1. Hibernate 缓存机制浅析

    1. 为什么要用 Hibernate 缓存? Hibernate是一个持久层框架,经常访问物理数据库. 为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能. 缓存内的数据是对物理数据源 ...

  2. hibernate缓存机制(转)

    原文出处:http://www.cnblogs.com/wean/archive/2012/05/16/2502724.html 一.why(为什么要用Hibernate缓存?) Hibernate是 ...

  3. 【转】hibernate缓存:一级缓存和二级缓存

    什么是缓存? 缓存是介于物理数据源与应用程序之间,是对数据库中的数据复制一份临时放在内存中的容器,其作用是为了减少应用程序对物理数据源访问的次数,从而提高了应用程序的运行性能.Hibernate在进行 ...

  4. Hibernate缓存(转)

    来自:http://www.cnblogs.com/wean/archive/2012/05/16/2502724.html 一.why(为什么要用Hibernate缓存?) Hibernate是一个 ...

  5. 初识Hibernate 缓存

    生活就像一杯咖啡,让你我慢慢的品尝,品尝它的苦涩和甘甜...... 一.什么是Hibernate缓存. 解析:白话来说就是缓存数据的容器 官方标准点缓存:是计算机领域的概念,它介于应用程序和永久性数据 ...

  6. Hibernate缓存原理与策略

    Hibernate缓存原理: 对于Hibernate这类ORM而言,缓存显的尤为重要,它是持久层性能提升的关键.简单来讲Hibernate就是对JDBC进行封装,以实现内部状态的管理,OR关系的映射等 ...

  7. [原创]java WEB学习笔记93:Hibernate学习之路---Hibernate 缓存介绍,缓存级别,使用二级缓存的情况,二级缓存的架构集合缓存,二级缓存的并发策略,实现步骤,集合缓存,查询缓存,时间戳缓存

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  8. Hibernate缓存原理与策略 Hibernate缓存原理:

    Hibernate缓存原理: 对于Hibernate这类ORM而言,缓存显的尤为重要,它是持久层性能提升的关键.简单来讲Hibernate就是对JDBC进行封装,以实现内部状态的管理,OR关系的映射等 ...

  9. Hibernate 缓存机制

    一.why(为什么要用Hibernate缓存?) Hibernate是一个持久层框架,经常访问物理数据库. 为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能. 缓存内的数据是对物理数 ...

随机推荐

  1. mysql笔记04 MySQL高级特性

    MySQL高级特性 1. 分区表:分区表是一种粗粒度的.简易的索引策略,适用于大数据量的过滤场景.最适合的场景是,在没有合适的索引时,对几个分区进行全表扫描,或者是只有一个分区和索引是热点,而且这个分 ...

  2. Java总结第一次//有些图片未显示,文章包含基础java语言及各种语句

    一.java入门 1.Java入门学习框架: 2.常用的DOS命令: dir(directory) :    列出当前目录下的文件以及文件夹 md(make directory) :   创建目录 r ...

  3. linux死锁检测的一种思路【转】

    转自:http://www.cnblogs.com/mumuxinfei/p/4365697.html 前言:  上一篇博文讲述了pstack的使用和原理. 和jstack一样, pstack能获取进 ...

  4. eclispse快捷操作

    1几个最重要的快捷键 代码助手:Ctrl+Space(简体中文操作系统是Alt+/)快速修正:Ctrl+1单词补全:Alt+/打开外部Java文档:Shift+F2 显示搜索对话框:Ctrl+H快速O ...

  5. 本人整理的一些PHP常用函数

    <?php //===============================时间日期=============================== //y返回年最后两位,Y年四位数,m月份数字 ...

  6. tomcat部署到根路径

    在Tomcat中部署war包很简单: 首先,直接把相应的war包放到$TOMCAT_HOME/webapps下,不用建目录: 然后,修改$TOMCAT_HOME/conf/server.xml,在Ho ...

  7. hdu4914 Linear recursive sequence

    用矩阵求解线性递推式通项 用fft优化矩阵乘法 首先把递推式求解转化为矩阵求幂,再利用特征多项式f(λ)满足f(A) = 0,将矩阵求幂转化为多项式相乘, 最后利用傅里叶变换的高效算法(迭代取代递归) ...

  8. Ahui Writes Word

    Ahui Writes Word Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) To ...

  9. js post提交页面

    function post(URL, PARAMS) { var temp = document.createElement("form"); temp.action = URL; ...

  10. PowerShell处理RSS信息

    转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 环境:Windows Server 2012 EN(解决PowerShell控制台中文乱码问题:方 ...