`

配置Hibernate二级缓存

阅读更多
Hibernate二级缓存也称为进程级的缓存或SessionFactory级的缓存。二级缓存是全局缓存,它可以被所有的session共享。二级缓存的生命周期和SessionFactory的生命周期一致,SessionFactory可以管理二级缓存。
二级缓存的配置使用:
1.在crc下创建echcache.xml文件,其内容如下:
<ehcache>
   <diskStore path="java.io.tmpdir"/> 
   <defaultCache maxElementsInMemory="10000" eternal="false"   overflowToDisk="true" timeToIdleSeconds="120" timeToLiveSeconds="120" diskPersistent="false" /> 
</ehcache>

maxElementsInMemory属性用于指定缓存中最多可放多少个对象。
eternal属性指定缓存是否永久有效。
timeToIdleSeconds属性指定缓存多久未被使用便清理掉。
timeToLiveSeconds属性指定缓存的生命长度。
diskPersistent属性指定缓存是否被持久化到硬盘中,保存路径由<diskStore>标签指定。

2.修改hibernate.cfg.xml文件开启二级缓存。
<hibernate-configuration> 
<session-factory> 
<!-- 开启二级缓存 --> 
<property name="hibernate.cache.use_second_level_cache">true</property> 
<!-- 设置缓存提供者 --> 
<property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property> 
<mapping resource="cn/ineeke/entity/User.hbm.xml"/> 
</session-factory> 
</hibernate-configuration>


3.指定哪些实体类使用缓存。经过第二步缓存是启用了,但是并没有被使用。它不会去自动把所有的实体都进行缓存了,而是需要手动指定哪个实体需要缓存,以及其缓存的策略。这里有两种方式,第一种是修改要使用缓存的实体的映射文件。如在User.hbm.xml中使用<cache>标签启用。
<hibernate-mapping> 
<class name="cn.ineeke.entity.User" table="t_user"> 
<cache usage="read-only"/> 
<id name="id"> <generator class="native"/> </id> 
<property name="name"/> 
</class> 
</hibernate-mapping>

第二种方式是在hibernate.cfg.xml中使用<class-cache>标签指定实体类并启用。
<hibernate-configuration> 
<session-factory> 
<!-- 开启二级缓存 --> 
<property name="hibernate.cache.use_second_level_cache">true</property> 
<!-- 设置缓存提供者 --> 
<property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property> 
<mapping resource="cn/ineeke/entity/User.hbm.xml"/> 
<!-- 指定哪些实体需要使用二级缓存 --> 
<class-cache class="cn.ineeke.entity.User" usage="read-only"/>
 </session-factory> 
</hibernate-configuration>

<calss-cache>标签中的class属性指定要对哪个实体进行缓存,而usage属性与<cache>标签的相同,都指的是缓存策略,此值依实际需要而定,默认采用read-only。
分享到:
评论

相关推荐

    springboot+jpa(hibernate配置redis为二级缓存) springboot2.1.4

    3. **配置Hibernate二级缓存**: 在`application.yml`或`application.properties`中开启Hibernate二级缓存并指定使用Redis: ```yaml spring: jpa: hibernate: cache: use_second_level_cache: true region....

    hibernate二级缓存java包下载

    在博客中,可能涉及了如何配置 Hibernate 二级缓存的具体步骤,包括添加依赖、配置缓存提供者、调整 Hibernate 配置文件以及实体类的缓存注解等。通过学习这些内容,开发者可以更好地理解并掌握如何在实际项目中有效...

    hibernate 二级缓存

    配置Hibernate二级缓存主要包括以下步骤: 1. 引入缓存依赖:在项目中引入所选缓存服务的库,如EhCache的jar包。 2. 配置SessionFactory:在`hibernate.cfg.xml`或`persistence.xml`中配置二级缓存插件,并指定...

    hibernate二级缓存实例

    在这个"hibernate二级缓存实例"中,我们将深入探讨二级缓存的原理、配置以及在实际项目中的应用。 首先,我们需要了解一级缓存和二级缓存的区别。一级缓存是Session级别的,每个Session都有自己的一级缓存,用于...

    hibernate二级缓存

    2. 配置 Hibernate:在 Hibernate 的配置文件(如 hibernate.cfg.xml)中启用二级缓存,并指定使用的缓存提供者。 ```xml &lt;property name="hibernate.cache.use_second_level_cache"&gt;true &lt;property name="...

    Spring集成的Hibernate配置二级缓存

    本文将详细探讨如何在Spring集成的Hibernate环境中配置二级缓存,以及其背后的原理和实践。 首先,我们需要了解什么是二级缓存。在Hibernate中,一级缓存是每个Session内部的缓存,它自动管理实体的状态,当一个...

    Hibernate二级缓存

    Hibernate二级缓存是一种提高应用程序性能的技术,它将数据存储在SessionFactory级别的缓存中,使得数据可以在不同的Session之间共享。这与一级缓存(Session级别)不同,一级缓存仅存在于单个Session生命周期内,当...

    hibernate一级缓存和二级缓存的区别与联系

    二级缓存则是一个可配置的、进程范围的缓存,由 SessionFactory 管理。它可以跨多个 Session 共享数据,甚至可以在多线程或多进程环境下使用。二级缓存可以是内存中的缓存,也可以扩展到硬盘,例如使用第三方缓存...

    为Spring集成的Hibernate配置二级缓存

    在Java企业级开发中,Spring和Hibernate是两个非常...3. **配置Spring**:在Spring的配置文件(如`applicationContext.xml`)中,配置Hibernate SessionFactory,并注入二级缓存配置。以下是一个配置示例: ```xml ...

    day37 05-HIbernate二级缓存:一级缓存更新同步到二级缓存及二级缓存配置文件

    本篇文章将深入探讨Hibernate的二级缓存机制,以及如何进行一级缓存与二级缓存的同步,同时还会介绍二级缓存的配置文件设置。 一级缓存是Hibernate默认提供的缓存,每个SessionFactory实例都有一个一级缓存。当对象...

    hibernate二级缓存示例源码

    综上所述,通过学习`hibernate二级缓存示例源码`,我们可以了解到如何在实际项目中配置和使用Hibernate二级缓存,从而提升系统的性能。在实际应用中,应结合具体场景选择合适的缓存策略,以达到最佳的性能优化效果。

    hibernate一级和二级缓存配置与详解

    本篇将深入探讨Hibernate的一级缓存和二级缓存,以及查询缓存的配置和使用。 ### 一级缓存 一级缓存是Hibernate默认提供的缓存,它是Session级别的,每个Hibernate Session都有一个私有的、本地的一级缓存。当我们...

    hibernate 二级缓存详解

    总结来说,Hibernate的二级缓存是提升性能的关键手段,通过合理配置和使用,可以有效减少数据库交互,提高应用响应速度。需要注意的是,二级缓存虽然强大,但也需谨慎使用,防止数据一致性问题,尤其是在高并发环境...

    hibernate一级缓存、二级缓存和查询缓存

    - **配置复杂**:二级缓存需要在Hibernate配置文件中指定缓存提供商,并对实体类进行配置,以便它们能够参与缓存。 - **缓存策略**:二级缓存支持不同的缓存策略,如读写策略、只读策略、定时刷新策略等,可以根据...

    hibernate二级缓存包

    Hibernate二级缓存是Java开发中使用Hibernate框架进行数据持久化时优化性能的一种重要技术。它在一级缓存(Session级别的缓存)的基础上,提供了一个全局的、跨会话的数据存储层,可以显著减少对数据库的访问,从而...

    Hibernate一级缓存和二级缓存

    **二、Hibernate二级缓存** 二级缓存是SessionFactory级别的,跨越了多个Session,可以被多个线程共享。它通常由第三方插件如EhCache、Infinispan等提供。二级缓存分为以下几种类型: 1. **集合缓存**:用于存储...

    Hibernate 二级缓存 总结整理

    在Hibernate配置文件`hibernate.cfg.xml`中,我们需要开启二级缓存并指定缓存提供者: ```xml &lt;property name="hibernate.cache.use_second_level_cache"&gt;true &lt;property name="hibernate.cache.region.factory_...

Global site tag (gtag.js) - Google Analytics