2、二级缓存
二级缓存也叫sessionFactory缓存
在不同的session中共享数据
在项目中如何配置二级缓存
(1)添加第三方二级缓存类库
ehcache类库:
ehcache-1.2.3.jar
日志处理类库:
log4j-1.2.15.jar
commons-logging.jar
(2)添加ehcache配置文件
从hibernate配置类库中
从hibernate-3.3.2.GA\project\etc\ehcache.xml中
复制ehcache.xml文件到项目src目录下
<defaultCache
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
overflowToDisk="true"
/>
maxElementsInMemory="10000":
缓存存储最大对象数
eternal:
false:可以销毁
true:永远不销毁 ,timeToIdleSeconds,timeToLiveSeconds
没有任何意义
timeToIdleSeconds="120":
单位:秒
对象处于非活动状态后销毁
timeToLiveSeconds="120" :
单位:秒
对象最大的生命周期
overflowToDisk="true":
对象超过最大对象数,保存指定文件路径
<diskStore path="java.io.tmpdir"/>
指定默认文件路径
<cache name="sampleCache1"
name:是定义cache名字
>
<defaultCache>:不指定cache名字(name)就使用
<defaultCache>
(3)启用二级缓存
<property name="hibernate.cache.use_second_level_cache">true</property>
<!-- 指定使用二级缓存生产运营商 -->
<property name="hibernate.cache.provider_class">
org.hibernate.cache.EhCacheProvider
</property>
(4)在项目中使用
(a)配置在hibernate映射文件中(User.hbm.xml)
<cache usage="read-only"/>
usage: read-only只读
read-write读写
region=""
指定使用二级缓存名字
(b)在hibernate映射文件中hibernate.cfg.xml配置
<class-cache usage="read-only" class="com.tarena.entity.User"/>
二级缓存使用范围
(a)get
(b)load
分享到:
相关推荐
总结来说,Hibernate 的一级缓存和二级缓存都是为了提高数据访问效率,但它们在范围和并发控制方面有所不同。一级缓存是事务级别的,保证了数据的强一致性,而二级缓存提供了更多的灵活性,可以跨事务共享,但需要...
以EhCache为例,我们需要在项目中引入ehcache-core或ehcache的依赖,并在Hibernate配置文件(hibernate.cfg.xml或persistence.xml)中启用二级缓存,添加如下配置: ```xml <property name="hibernate.cache.use_...
Hibernate二级缓存是一种提高应用程序性能的技术,它将数据存储在SessionFactory级别的缓存中,使得数据可以在不同的Session之间共享。这与一级缓存(Session级别)不同,一级缓存仅存在于单个Session生命周期内,当...
**hibernate一级缓存、二级缓存和查询缓存** 在Java的持久化框架Hibernate中,缓存机制是提高应用程序性能的关键要素。缓存能够减少数据库的访问次数,提高数据读取速度,并且在一定程度上降低了系统的负载。本文将...
这个"hibernate5.1二级缓存包"应该包含了用于实现二级缓存的相关组件和配置。 二级缓存是相对于一级缓存(Session 缓存)而言的,一级缓存是每个 Hibernate Session 内部的缓存,而二级缓存则是在 SessionFactory ...
标题“Hibernate一级缓存和二级缓存”指的是Hibernate框架中的两种缓存机制,它们是提高数据访问性能的关键要素。一级缓存是Session级别的,而二级缓存是SessionFactory级别的,两者在数据库操作中起到了重要的作用...
2. **配置Hibernate**:在Hibernate的配置文件`hibernate.cfg.xml`中启用二级缓存并指定缓存提供商。以下是一个使用Ehcache的示例: ```xml <property name="hibernate.cache.use_second_level_cache">true ...
在Java的持久化框架Hibernate中,二级缓存是提高数据访问效率的重要机制。它是一种全局共享的、跨会话的数据存储区域,旨在减少对数据库的直接访问,从而降低系统负载,提升性能。在这个"hibernate二级缓存实例"中,...
本篇将深入探讨Hibernate的一级缓存和二级缓存,以及查询缓存的配置和使用。 ### 一级缓存 一级缓存是Hibernate默认提供的缓存,它是Session级别的,每个Hibernate Session都有一个私有的、本地的一级缓存。当我们...
Hibernate 二级缓存是针对SessionFactory级别的全局缓存,与一级缓存(Session级别)不同,一级缓存只在单个Session生命周期内有效。二级缓存则允许不同Session之间共享数据,提高了数据访问效率,减少了对数据库的...
本篇文章将深入探讨Hibernate的二级缓存机制,以及如何进行一级缓存与二级缓存的同步,同时还会介绍二级缓存的配置文件设置。 一级缓存是Hibernate默认提供的缓存,每个SessionFactory实例都有一个一级缓存。当对象...
**标题解析:**“Hibernate4二级缓存实例(源码)” 这个标题表明我们将探讨一个具体的应用示例,即如何在Hibernate4框架中实现实现二级缓存,并且提供了源码供参考。Hibernate是一个流行的Java对象关系映射(ORM)...
在本文中,我们将深入探讨如何在Spring Boot 2.1.4.RELEASE项目中结合JPA(Java Persistence API)和Hibernate实现Redis作为二级缓存。首先,我们需要理解这些技术的基本概念。 Spring Boot 是一个用于简化Spring...
在Hibernate中,缓存分为一级缓存(第一级缓存)和二级缓存(第二级缓存)。一级缓存是默认启用的,它存储在一个`Session`实例中,用于减少数据库交互次数。二级缓存则可以跨多个`Session`实例共享,主要用于提高...
在 Hibernate 中,二级缓存和查询缓存是提高应用性能的重要机制。下面将详细介绍如何开启并理解这两个缓存机制。 ### 1. 一级缓存与二级缓存 #### 1.1 一级缓存 一级缓存是 Hibernate 内置的 Session 缓存,它是每...
Hibernate 一级缓存和二级缓存的区别
**hibernate二级缓存详解** Hibernate作为Java领域中广泛使用的对象关系映射(ORM)框架,极大地简化了数据库操作。然而,在处理大量数据时,性能优化显得尤为重要,这就是二级缓存的作用。本文将深入探讨Hibernate...
《深入理解Hibernate的一级缓存与二级缓存》 Hibernate作为一款强大的ORM框架,其缓存机制是优化数据库操作性能的关键之一。缓存主要分为一级缓存和二级缓存,它们各自承担着不同的职责,共同提升了数据访问的效率...
Hibernate 二级缓存