`
vanadiumlin
  • 浏览: 504971 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Ehcache的使用及与Spring的集成

 
阅读更多

 快两个月没来更新了,由于报考了SCJP就一直都忙于复习,还好过了。

    今天写Ehcache。Ehcache是一套比较成熟的缓存解决方案,很多主流框架像Spring,Hibernate都对其有很好的支持。且 Ehcache是支持集群环境的,API也比较简单,上手比较容易。下面就介绍一下Ehcache主要功能的使用和在Spring环境下如何集成。

    Ehcache默认的配置文件是ehcache.xml,内容如下:
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ehcache.xsd">
<!-- <diskStore path="c:\\mdcp_temp" />-->
 <cacheManagerEventListenerFactory class="" properties="" />
 
 <defaultCache
        maxElementsInMemory="10000"
        eternal="false"
        timeToIdleSeconds="600"
        overflowToDisk="false"
 >
 </defaultCache>

 <cache
        name="configCache"
        maxElementsInMemory="1000"
        maxElementsOnDisk="1000" 
        eternal="true"
        timeToIdleSeconds="300"
        timeToLiveSeconds="1000"
        overflowToDisk="false"
 />
</ehcache>

这里配置了一个名为configCache的缓存实例。参数说明如下:
  name: 元素名称即缓存实例的名称。
  maxElementsInMemory: 设定内存中保存对象的最大值。
  overflowToDisk: 设置当内存中缓存到达maxElementsInMemory指定值时是否可以写到硬盘上。
  eternal: 设置内存中的对象是否为永久驻留对象。如果是则无视timeToIdleSeconds和timeToLiveSeconds两个属性。
  timeToIdleSeconds: 设置某个元素消亡前的停顿时间。指元素消亡之前,两次访问时间的最大时间间隔值。
  timeToLiveSeconds: 设置某个元素消亡前的生存时间。指元素从构建到消亡的最大时间间隔。
  注意:defaultCache不管用不用都是必须要配置的。

Java Code:
    //初始化
    CacheManager manager = new CacheManager(“src/config/ehcache.xml”);
    //获取指定Cache对象
    Cache configCache = manager.getCache(“configCache”);
    //创建节点对象
    Element element = new Element(“key1”,”value1”);
    //保存节点到configCache
    configCache.put(element);
    //从configCache获取节点
    Element element2 = configCache.getCache(“key1”);
    Object  value = element2.getValue();
    //更新节点
    configCache.put(new Element(“key1”,”value2”));
    //删除节点
    configCache.remove(“key1”);
    以上是Ehcache的基本使用,是不是很简单?

    下面介绍下在Spring环境下的配置。
    首先需要一个jar文件:spring-modules-cache.jar。spring-module中包含了spring与其它框架的集成功能,除了cache外还有ant,jbpm,lucene,validation等。
    Maven配置为:
    <!-— Spring-modules-cache -->
    <dependency>
          <groupId>org.springmodules</groupId>
          <artifactId>spring-modules-cache</artifactId>
          <version>0.8</version>
    </dependency>
    <!-- Ehcache -->
    <dependency>
          <groupId>net.sf.ehcache</groupId>
          <artifactId>ehcache</artifactId>
          <version>1.6.2</version>
    </dependency>

Spring,  Spring-modules-cache 以及 Ehcache间的依赖关系如下:
   

    首先Ehcache会依赖于其核心配置文件ehcache.xml, 而Spring也依赖于其配置文件application.xml。加入Spring-modules-cache.jar后就可以在application.xml中创建EhCacheManagerFactoryBean对象,这个类有一个属性configLocation用于指定ehcache的配置文件。这样依赖关系就变成了application.xml依赖于ehcache.xml了。Spring-modules-cache在两者间充当了一个“粘合剂”的作用。
    接着是applicaion.xml中的配置:
    <!-- load the ehcache config -->  
    <bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">  
          <property name="configLocation">  
          <value>classpath:ehcache.xml</value>  
          </property>  
    </bean>  
    <!-- load the the configCache -->  
    <bean id="configCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">  
          <property name="cacheManager">  
                <ref local="cacheManager" />  
          </property>  
          <property name="cacheName">  
                <value>configCache</value>  
          </property>  
    </bean>

    这样就可以通过Spring的IOC特性在需要用到configCache的类中进行注入。得到configCache后就能直接像之前那样操作cache对象了。
    今天就写到这里,以后会继续更新Ehcache和Spring整合后利用AOP特性实现对于方法的缓存,以及在Hibernate中作为二级缓存的使用和它在集群环境中使用。

分享到:
评论

相关推荐

    Spring+Ehcache集成

    **Spring与Ehcache集成详解** 在现代Java应用开发中,缓存技术是提升系统性能的关键环节。Ehcache作为一款流行的开源缓存解决方案,因其轻量级、高性能和易于集成的特点,常被广泛应用于Spring框架中。本篇文章将...

    Ehcache集成Spring的使用(转载)

    这篇博客将深入探讨如何将 Ehcache 集成到 Spring 应用中,以及如何使用 Spring AOP 实现计算结果的缓存。 首先,集成 Ehcache 到 Spring 需要以下步骤: 1. **引入依赖**: 在 Maven 或 Gradle 的配置文件中添加 ...

    spring集成ehcache所需的jar包

    spring集成ehcache所需的jar包

    spring3整合EhCache注解实例

    spring3整合EhCache注解实例

    Spring与ehcache结合使用

    ### Spring与ehcache结合使用详解 #### 一、前言 在现代软件开发中,缓存技术被广泛应用于提高应用程序的性能。其中,Spring框架因其灵活性和强大的功能,在Java领域得到了广泛应用;而ehcache作为一款高性能、...

    ssh,struts+hibernate+spring+ehcache集成

    Hibernate通过实体类和映射文件(hibernate.cfg.xml及.hbm.xml文件)将数据库表与Java类关联起来,提供了一种透明的数据访问方式。 Spring框架是Java企业级应用的核心框架,它提供了一个全面的基础设施,包括DI...

    SpringBoot 集成Ehcache实现缓存

    下面将详细介绍如何在一个Spring Boot项目中集成并使用Ehcache缓存。 ##### 1. 创建项目 首先,使用IDEA创建一个Maven类型的Spring Boot项目。确保项目结构符合Spring Boot的标准。 ##### 2. 数据库初始化 为了...

    ehcache+spring demo 整合

    Ehcache 是一款高效、流行的Java缓存库,它能够帮助...这个项目是学习和理解如何在Spring应用中集成Ehcache的一个好起点,你可以通过运行这两个工程,观察缓存的使用效果,逐步掌握如何在实际项目中利用缓存优化性能。

    spring2.5整合ehcache2.0使用

    在本文中,我们将深入探讨如何将Spring 2.5与Ehcache 2.0进行集成,以便在我们的应用程序中实现高效、可扩展的缓存管理。Ehcache是一款广泛使用的开源Java缓存解决方案,而Spring框架则为它提供了一个方便的集成层,...

    Ehcache整合Spring使用页面、对象缓存

    下面将详细介绍Ehcache与Spring的整合及其在页面和对象缓存中的应用。 一、Ehcache简介 Ehcache是基于内存的分布式缓存系统,支持本地缓存、分布式缓存和 terracotta 集群化缓存。它提供了一个简单易用的API,可以...

    在Spring+Hibernate集成环境中使用EhCache缓存

    在Spring和Hibernate集成的开发环境中,使用EhCache作为缓存机制是常见的优化策略,它能够显著提升应用程序的性能和响应速度。EhCache是一款开源的、高性能的、内存级的分布式缓存解决方案,适用于Java应用程序。...

    spring boot 集成activemq Datajpa Ehcache

    在这个项目中,我们将探讨如何将Spring Boot与Apache ActiveMQ、DataJPA和Ehcache进行集成,以构建一个功能丰富的应用程序。 首先,ActiveMQ是Apache出品的一款开源消息中间件,它遵循Java Message Service (JMS) ...

    Struts2+Spring+Hibernate+Ehcache+AJAX+JQuery+Oracle 框架集成用户登录注册Demo工程

    1.通过google ehcache-spring-annotatios.jar自动注解方式实现整合Spring+Ehcache。 2.Action里通过struts2-spring-plugin.jar插件自动根据名字注入。 3.Ajax无刷新异步调用Struts2,返回Json数据,以用户注册为例。...

    spring3.2+ehcache 注解使用

    通过这种方式,我们可以在Spring 3.2应用中轻松地集成和使用Ehcache,从而提高应用程序的性能。请记住,合理设计缓存策略对于优化应用程序至关重要,避免缓存过多无用数据,同时要考虑到缓存一致性问题。在实际开发...

    Ehcache 整合Spring 使用页面、对象缓存

    - **与Spring、Hibernate的集成**:Ehcache可以非常容易地与Spring和Hibernate框架集成,简化缓存的配置和使用。 #### 二、准备工作 在开始使用Ehcache之前,需要先完成以下准备工作: 1. **下载JAR包**: - **...

    spring+ehcache示例整合Demo

    Spring 和 Ehcache 是两个在Java开发中非常重要的框架。Spring 是一个全面的后端开发框架,提供了依赖注入、AOP(面向切面编程)、MVC(模型-视图-...这个示例Demo是学习和理解Spring与Ehcache集成的一个很好的起点。

    spring + ehcache + redis两级缓存

    当我们谈论“Spring + Ehcache + Redis”两级缓存时,我们实际上是在讨论如何在Java环境中利用Spring框架来集成Ehcache作为本地缓存,并利用Redis作为分布式二级缓存,构建一个高效且可扩展的缓存解决方案。...

    开源测试项目:spring mvc+springsecurity3+ehcache+bootstrap+mysql

    开源测试项目:spring mvc+springsecurity3+ehcache+bootstrap+mysql 内附MySQL表,直接导入就可运行 效果图请移步:http://blog.csdn.net/yangxuan0261/article/details/10053947

    Ehcache分布式缓存与其在spring中的使用

    ##### 3.1 Spring集成 在Spring项目中集成Ehcache通常有以下步骤: 1. 添加依赖:在项目的pom.xml文件中添加Ehcache依赖。 2. 配置Spring:在Spring的配置文件中声明`CacheManager` bean。 3. 注解驱动:使用`@...

    SpringBoo2.x,整合Ehcache3.x

    Spring Boot 2.x版本可以与Ehcache 3.x版本成功整合,下面详细介绍相关的知识点。 首先,整合Spring Boot与Ehcache 3.x涉及到依赖配置。在Maven项目中,需要添加以下依赖到`pom.xml`文件中: ```xml ...

Global site tag (gtag.js) - Google Analytics