hibernate三级缓存介绍

hibernate缓存机制:
分为三种:
1.一级缓存(session级别缓存,同一session中不会重复发出sql,默认会实现)
2.二级缓存(跨session的缓存,不同session会从同一缓存中取数据,需要配置)
3.三级缓存(跨session的缓存的特殊情况,也叫查询缓存,即重复用一个sql查询某个范围内的数据,则和进行缓存,需要配

置开启,而且在查询时需要显示调用Query.setCachable(true);)

使用步骤:

1.通常使用EHCache,hbm文件开启缓存,设置缓存的实现类
2.需要导入EHCache的jar包,还需要导入它依赖的apache common 下的记录日志的jar
3.需要ehcache.xml配置文件
4.需要在需要缓存的实体类的头部加@Cache注解

时间: 2024-11-11 12:56:24

hibernate三级缓存介绍的相关文章

Hibernate 缓存介绍

hibernate缓存包括一级缓存,二级缓存以及查询缓存 一级缓存 一级缓存是Session的缓存,由于session对象的生命周期对应于一个事务,所有session的缓存是事务范围的缓存.第一级缓存是必须的,缓存中的每个持久类对象都有唯一的OID.无需做任何配置,hibernate自动维护. 当执行load/get/list/iterator/ filter/save/update/saveOrUpdate等方法时会把得到的实体对象放入一级缓存中(只支持实体对象缓存,不支持属性的缓存),当在同

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

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

hibernate一级和二级缓存介绍

一级缓存Hibernate缓存包括两大类:Hibernate一级缓存和Hibernate二级缓存Hibernate一级缓存又称为"Session的缓存",它是内置的,不能被卸载(不能被卸载的意思就是这种缓存不具有可选性,必须有的功能,不可以取消session缓在第一级缓存中,持久化类的每个实例都具有唯一的OID存 .在缓存中的对象,具有持久性,session对象负责管理.一级缓存的优点是使用同一个session对象多次查询同一个数据对象,仅对数据库查询一次例如:session.load

Android开源框架ImageLoader:加载图片的三级缓存机制

前言:可从  https://github.com/nostra13/Android-Universal-Image-Loader 下载三级缓存机制的开源框架.下文简单介绍该框架中主要的常用方法,掌握这些方法,基本就可应对多数图片下载的需求. 注意:以下代码为示意代码片断,仔细读一下应能知道怎么用.蓝色表示为开源框架中的类. 1.初始化ImageLoader类对象: ImageLoader imageLoader = ImageLoader.getInstance(); imageLoader.

Hibernate之缓存详解

hibernate中提供了两级缓存,一级缓存是Session级别的缓存,它属于事务范围的缓存,该级缓存由hibernate管理,应用程序无需干预:二级缓存是SessionFactory级别的缓存,该级缓存可以进行配置和更改,并且可以动态加载和卸载,hibernate还为查询结果提供了一个查询缓存,它依赖于二级缓存: 一,缓存的概念 缓存是位于应用程序和永久性数据存储源之间用于临时存放复制数据的内存区域,缓存可以降低应用程序之间读写永久性数据存储源的次数,从而提高应用程序的运行性能: hibern

Hibernate二级缓存以及ehcache的搭建配置

前言 这次主要复习Hibernate的二级缓存的相关知识,配置以及使用.二级缓存主要采用第三方的ehcache,也将介绍ehcache缓存的相关配置属性以及在项目中的搭建,具体的项目查看下一篇的 Maven搭建SpringMVC+Hibernate项目详解 的文章.(之前使用过Hibernate的二级缓存,但是没自己搭建和研究过,现在花了半天时间搭建了一下,写下来供大家参考) 1.Hibernate二级缓存 Hibernate包括两个级别的缓存: 1.一级缓存:默认总是启用的session级别的

Hibernate【缓存篇】

一.SQL语句什么时候发出? SQL语句其实并不是在transaction.commit()的时候发出的,而是在一句session.flush()发出.在transaction.commit()的内部就调用了session.flush()方法.之后才会提交SQL语句 Session.flush()到底做了什么? 在Hibernate内部去检查所有的持久化对象,如果持久化对象是由临时状态转换过来的,发出insert语句:如果持久化对象是由get方法得到的,再查看下副本,如果和副本对照一致,什么都不

关于Android中的三级缓存

三级缓存的提出就是为了提升用户体验.当我们第一次打开应用获取图片时,先到网络去下载图片,然后依次存入内存缓存,磁盘缓存,当我们再一次需要用到刚才下载的这张图片时,就不需要再重复的到网络上去下载,直接可以从内存缓存和磁盘缓存中找,由于内存缓存速度较快,我们优先到内存缓存中寻找该图片,如果找到则运用,如果没有找到(内存缓存大小有限),那么我们再到磁盘缓存中去找.只要我们合理的去协调这三层缓存运用,便可以提升应用性能.三级缓存指的是:内存缓存.本地缓存.网络缓存.其各自的特点是内存缓存速度快, 优先读

属性动画与图片三级缓存

属性动画 动画: UI渐变, 变量值的变化 ObjectAnimator : ofInt("backgroundColor",start,end); ValueAnimator: for(int i = start; i< end; i++) { a = i; } ValueAnimator animation=ValueAnimator.ofInt(start,end); animation.setDuration(DURATION); animation.addUpdateL