`
chengyue2007
  • 浏览: 1493746 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

使用EhCache配置二级缓存

阅读更多

1、配置准备:
1) 把ehcache-1.2.3.jar加入到当前应用的classpath中。
2) 在hibernate.cfg.xml文件中加入EhCache缓存插件的提供类。

<!--配置缓存插件 -->  

<property name="hibernate.cache.provider_class">  

    org.hibernate.cache.EhCacheProvider   

</property>

3)挎贝ehcache.xml文件到类路径(项目工程的src目录下),这个文件在Hibernate安装目录的etc下。
2、配置步骤:
Hibernate允许在类和集合的粒度上设置第二级缓存。在映射文件中,<class>和<set>元素都有一个<cache>子元素,这个子元素用来配置二级缓存。
示例:以category(产品类别)和product(产品)的映射为例:
1) 修改要配置缓存的那个持久化类的对象关系映射文件:
Category.hbm.xml 

<?xml version="1.0" encoding="utf-8"?>  

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"   

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">  

<hibernate-mapping>  

    <class name="org.qiujy.domain.cachedemo.Category" table="categories">  

       <!—   

            配置缓存,必须紧跟在class元素后面   

            对缓存中的Category对象采用读写型的并发访问策略   

        -->  

      <cache usage="read-write" region="cn.cy.Category" />

<!--注意:这样的region要与配置文件中的区域的名要相同。-->  

……

<set name="products" table="products" cascade="all" inverse="true">  

          <!-- Hibernate只会缓存对象的简单属性的值,   

       要缓存集合属性,必须在集合元素中也加入<cache>子元素   

       而Hibernate仅仅是把与当前持久对象关联的对象的OID存放到缓存中。   

如果希望把整个关联的对象的所有数据都存入缓存,   

则要在相应关联的对象的映射文件中配置<cache>元素   

           -->  

           <cache usage="read-write"/>  

 

           <key column="categoryId" not-null="true"/> 

           <one-to-many class="org.qiujy.domain.cachedemo.Product"/>  

    </set>  

2) 编辑ehcache.xml文件:

<ehcache>  

    <diskStore path="c:\\ehcache\"/>  

    <defaultCache  

        maxElementsInMemory="10000"  

        eternal="false"  

        timeToIdleSeconds="120"    

        timeToLiveSeconds="120"    

        overflowToDisk="true"     

        />  

          

    <!-- 设置Category类的缓存的数据过期策略 -->  

    <cache name="org.qiujy.domain.cachedemo.Category"  

        maxElementsInMemory="100"  

        eternal="true"  

        timeToIdleSeconds="0"  

        timeToLiveSeconds="0"  

        overflowToDisk="false"  

        />  

          

     <!-- 设置Category类的products集合的缓存的数据过期策略 -->  

     <cache name="org.qiujy.domain.cachedemo.Category.products"  

        maxElementsInMemory="500"  

        eternal="false"  

        timeToIdleSeconds="300"  

        timeToLiveSeconds="600"  

        overflowToDisk="true"  

        />  

          

    <cache name="org.qiujy.domain.cachedemo.Product"  

        maxElementsInMemory="500"  

        eternal="false"  

        timeToIdleSeconds="300"  

        timeToLiveSeconds="600"  

        overflowToDisk="true"  

        />  

      

</ehcache>  

 

 

 

 

 

 

 

 

 

 

 

 

  

分享到:
评论

相关推荐

    配置EhCache二级缓存

    ### 配置EhCache二级缓存 #### 一、简介 EhCache是一个高性能、易于使用的开源缓存系统,最初由 Terracotta 组织开发。它支持多种缓存模型,包括本地缓存和分布式缓存。由于其简单易用且功能强大,EhCache 成为了 ...

    Ehcache二级缓存.zip

    总之,这个压缩包中的内容涵盖了使用Ehcache作为二级缓存的整个流程,从添加依赖、配置缓存到实际应用和性能调优,对理解和实践Ehcache缓存机制有着重要的参考价值。如果你在使用过程中遇到问题,可以参照提供的文档...

    ehcache二级缓存配置文件

    **Ehcache二级缓存配置详解** Ehcache是一个广泛使用的开源Java缓存库,它提供了内存和磁盘存储的缓存解决方案,适用于提高应用程序性能和减少数据库负载。在Java应用中,尤其是在Spring框架中,Ehcache常被用作二...

    Hibernate EhCache 二级缓存配置.docx

    要使用 EhCache 二级缓存,需要配置 EhCache 缓存插件。具体步骤如下: 1. 添加 ehcache 的 jar 包到项目中 2. 在项目的 src 目录下,新建一个名称为 ehcache.xml 的文件 3. 在 ehcache.xml 文件中,添加 cache ...

    spring + ehcache + redis两级缓存

    在Spring中,可以通过`RedisTemplate`或`StringRedisTemplate`来操作Redis,并配置`@EnableCaching`中的`CacheResolver`和`CacheManager`以使用Redis作为二级缓存。 3. **实现缓存策略**: 缓存策略决定了何时从...

    springmvc4+spring4+hibernate5.1.3+二级缓存ehcache+fastjson配置

    Ehcache是Hibernate的一个可选二级缓存插件,用于存储数据库查询结果,减少对数据库的直接访问。当相同的数据再次被请求时,可以从缓存中快速获取,提高系统响应速度。在不使用缓存的情况下,可以通过配置关闭。 5...

    Spring集成的Hibernate配置二级缓存

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

    spring二级缓存

    在这个例子中,我们将探讨如何在Spring环境中实现二级缓存,主要涉及Spring与Hibernate集成使用EhCache的情况。 一级缓存是ORM框架(如Hibernate)自身提供的缓存,它存储了最近查询的数据,减少了对数据库的直接...

    Hibernate中二级缓存ehcache缓存案例

    2. **配置hibernate.cfg.xml**:在Hibernate的配置文件中,开启二级缓存支持并指定使用ehcache。添加以下配置: ```xml &lt;property name="hibernate.cache.use_second_level_cache"&gt;true ...

    hibernate二级缓存jar包

    要使用Hibernate的二级缓存,首先需要在Hibernate的配置文件(通常是`hibernate.cfg.xml`)中启用二级缓存,并指定Ehcache作为缓存提供者。配置包括以下几个步骤: 1. 引入Ehcache的XML配置文件,通常命名为`...

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

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

    hibernate二级缓存实例

    2. 配置Hibernate:在hibernate.cfg.xml文件中启用二级缓存,并指定使用Ehcache作为二级缓存提供者。 3. 配置实体类:在实体类上使用`@Cacheable`、`@Cache`等注解,声明该类及属性参与缓存。 4. 配置缓存策略:...

    Hibernate4二级缓存Ehcache案例

    Ehcache是Java中广泛使用的内存缓存库,它支持内存和磁盘缓存,具有高效的缓存管理和数据持久化能力,因此被选为Hibernate的二级缓存提供商。要使用Ehcache,我们首先需要在项目中引入Ehcache的依赖。在Maven项目中...

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

    5. **实体类注解**:为了让Hibernate知道哪些实体类需要使用二级缓存,可以在实体类上添加`@Cacheable`注解,并指定缓存区域。例如: ```java @Entity @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) public...

    struts2+hibernate+ehcache二级缓存

    在提供的压缩包文件中,可能包含了Struts2、Hibernate和Ehcache的配置示例,以及相关的代码片段,用于演示如何集成和使用这些组件实现二级缓存。开发者可以通过分析这些文件,了解具体的实现细节,并在自己的项目中...

    Hibernate二级缓存(Ehcache)

    【标题】:“Hibernate二级缓存...首先,我们需要在Hibernate配置文件(hibernate.cfg.xml)中启用二级缓存,并指定Ehcache为缓存提供者: ```xml &lt;property name="hibernate.cache.use_second_level_cache"&gt;true ...

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

    二级缓存可以是内存中的缓存,也可以扩展到硬盘,例如使用第三方缓存提供商(如 EhCache 或者 Infinispan)。二级缓存中存储的是对象的集合数据,而不是单个对象实例,这样可以更高效地处理大量数据。二级缓存可以...

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

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

    二级缓存配置

    这里指定了使用EhCache作为二级缓存的实现。EhCache是一种广泛使用的高性能纯Java缓存库,能够很好地集成到Hibernate中。 ##### 2. 配置实体缓存策略 对于需要进行缓存的实体,需要在对应的`hibernate-mapping`...

    hibernate二级缓存包

    2. **Ehcache配置**:在Hibernate配置文件中,我们需要指定使用Ehcache作为二级缓存提供者,并设置相应的配置参数,如缓存大小、过期策略等。此外,还需要在项目的类路径下放置Ehcache的配置文件,以定义具体的缓存...

Global site tag (gtag.js) - Google Analytics