缓存
缓存
缓存的定义
缓存是为了减少应用程序和数据库交互次数而将一些修改频率较低、查询频繁的非关键性数据单独开辟一块空间存放起来的一块空间!是以一定范围内的空间换取用户从数据库查询数据的速度和性能的一种解决方案!
通常缓存分为以下几类:
内部缓存、二级缓存、查询缓存以及第三方缓存实现。
内部缓存
在Hibernate中内部缓存又称为一级缓存和事务级缓存由Hibernate自动维护不可卸载。其生命周期和Session对象的生命周期相同,当Session关闭时该缓存也会被自动回收。
二级缓存
二级缓存是可配置的插件,是进程或集群范围内的缓存,可以被所有的Session共享
二级缓存的配置
在Hibernate中配置二级缓存的插件有很多下面使用EHCache插件为例来配置二级缓存。
1.引入如下jar包。
ehcache-1.2.3.jar 核心库
backport-util-concurrent.jar
commons-logging.jar
2.配置Hibernate.cfg.xml开启二级缓存
<propertyname="hibernate.cache.use_second_level_cache">true</property>
3.配置二级缓存的供应商
<property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
注:property元素必须在mapping元素之上
4.配置可进入二级缓存的类
<class-cache usage="read-write" class="cn.happy.entity.Emp"/>
5.在Classpath目录下引入ehcache.xml文件
经过以上5个步骤就可以将Dept对象放入二级缓存了