`

spring+ehCache简单整合使用示例

 
阅读更多
下面介绍一下简单使用的配置过程:ehcache.jar及spring相关jar就不说了,加到项目中就是了。

简单的使用真的很简单。但只能做为入门级了。

1.ehcache.xml,可放classpath根目录下,
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ehcache.xsd" updateCheck="true" monitoring="autodetect"
         dynamicConfig="true">
<      diskStore path="java.io.tmpdir" />
<defaultCache
            maxElementsInMemory="10000"
            eternal="false"
            timeToIdleSeconds="120"
            timeToLiveSeconds="120"
            overflowToDisk="true"
            diskSpoolBufferSizeMB="30"
            maxElementsOnDisk="10000000"
            diskPersistent="false"
            diskExpiryThreadIntervalSeconds="120"
            memoryStoreEvictionPolicy="LRU"
          
            />
    <cache name="DEFAULT_CACHE"
            maxElementsInMemory="10000"
            eternal="false"
            timeToIdleSeconds="120"
            timeToLiveSeconds="120"
            overflowToDisk="true"
            diskSpoolBufferSizeMB="30"
            maxElementsOnDisk="10000000"
            diskPersistent="false"
            diskExpiryThreadIntervalSeconds="120"
            memoryStoreEvictionPolicy="LRU"
           
            />    
</ehcache>


<!--  
1.必须要有的属性:  
name: cache的名字,用来识别不同的cache,必须惟一。  
maxElementsInMemory: 内存管理的缓存元素数量最大限值。  
maxElementsOnDisk: 硬盘管理的缓存元素数量最大限值。默认值为0,就是没有限制。  
eternal: 设定元素是否持久话。若设为true,则缓存元素不会过期。  
overflowToDisk: 设定是否在内存填满的时候把数据转到磁盘上。  
2.下面是一些可选属性:  
timeToIdleSeconds: 设定元素在过期前空闲状态的时间,只对非持久性缓存对象有效。默认值为0,值为0意味着元素可以闲置至无限长时间。  
timeToLiveSeconds: 设定元素从创建到过期的时间。其他与timeToIdleSeconds类似。  
diskPersistent: 设定在虚拟机重启时是否进行磁盘存储,默认为false.(我的直觉,对于安全小型应用,宜设为true)。  
diskExpiryThreadIntervalSeconds: 访问磁盘线程活动时间。  
diskSpoolBufferSizeMB: 存入磁盘时的缓冲区大小,默认30MB,每个缓存都有自己的缓冲区。  
memoryStoreEvictionPolicy: 元素逐出缓存规则。共有三种,Recently Used (LRU)最近最少使用,为默认。 First In First Out (FIFO),先进先出。Less Frequently Used(specified as LFU)最少使用 
--> 

2.第二步,配置applicationContext-ehcache.xml,与spring整合文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:context="http://www.springframework.org/schema/context" 
     xmlns:p="http://www.springframework.org/schema/p" 
     xmlns:mvc="http://www.springframework.org/schema/mvc" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:aop="http://www.springframework.org/schema/aop" 
     xmlns:tx="http://www.springframework.org/schema/tx" 
     xsi:schemaLocation="http://www.springframework.org/schema/beans 
          http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
          http://www.springframework.org/schema/context 
          http://www.springframework.org/schema/context/spring-context.xsd 
          http://www.springframework.org/schema/tx  
          http://www.springframework.org/schema/tx/spring-tx-3.0.xsd 
          http://www.springframework.org/schema/aop 
          http://www.springframework.org/schema/aop/spring-aop-3.0.xsd 
          http://www.springframework.org/schema/mvc 
          http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"
          default-autowire="byName" default-lazy-init="false"> 
        <!-- 引用ehCache的配置 -->    
        <bean id="defaultCacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">    
          <property name="configLocation">    
            <value>classpath:ehcache.xml</value>    
         </property>    
        </bean> 
         
          <!-- 定义ehCache的工厂,并设置所使用的Cache name -->    
        <bean id="ehCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">    
          <property name="cacheManager">    
            <ref local="defaultCacheManager"/>    
          </property>    
          <property name="cacheName">    
              <value>DEFAULT_CACHE</value>    
          </property>    
        </bean>           
    </beans> 

实际上这样就把两者结合起来了。当然集群的话还得另外配置,这里只讲最简单的。

下面使用:

3.  添加数据到缓存:

net.sf.ehcache.Cache ehCache=ApplicationContextUtils.getBean("ehCache");
net.sf.ehcache.Element lgEle=new net.sf.ehcache.Element("loginName", users.getLoginName());
net.sf.ehcache.Element pwdEle=new net.sf.ehcache.Element("password", users.getPassword());
ehCache.put(lgEle);
ehCache.put(pwdEle);

这样使用就可。

当然,在spring管理的bean中,也可:

private Cache  ehCache; 
     
    @Resource(name="ehCache") 
    public void setEhCache(Cache ehCache) { 
        this.ehCache = ehCache; 
    } 
4.使用。

这个其实就不用说了,大家都会了,我相信,能过对应的key值去获取就是了。

如: Element lgEle= ehCache.get("loginName");
需要修改,就先取得再修改,删除就直接删除。



1
1
分享到:
评论
3 楼 chenyi0834 2015-09-03  
net.sf.ehcache.Cache ehCache=ApplicationContextUtils.getBean("ehCache");
这里前者是net.sf.ehcache.Cache  后面那个是  spring下面的cache
接收的时候 应该会报错吧
2 楼 fsh430623 2015-08-22  
是一个获取spring容器bean的工具类
1 楼 hxc985815621 2015-08-17  
ApplicationContextUtils是什么?

相关推荐

    spring+ehcache示例整合Demo

    在这个"spring+ehcache示例整合Demo"中,我们将会探讨如何将Ehcache集成到Spring框架中,以实现高效的缓存管理。 首先,我们需要在项目的`pom.xml`文件中引入Ehcache和Spring的依赖。Ehcache通常使用的是`org....

    spring+ibatis+ehcache整合例子

    这个"spring+ibatis+ehcache整合例子"是一个完整的示例项目,展示了如何将这三个框架无缝集成到一个基于MySQL数据库的应用中。下面将详细介绍这三个框架及其整合的关键点。 **Spring框架** Spring是一个全面的企业...

    spring+ehcache demo

    本示例"spring+ehcache demo"将带你深入理解如何在Spring环境中集成并使用Ehcache进行数据缓存。 Ehcache是一款广泛使用的开源Java缓存库,它提供了内存和磁盘存储,支持分布式缓存,并且可以与Spring框架无缝结合...

    spring2.5整合ehcache2.0使用

    在本文中,我们将深入探讨如何将Spring 2.5与Ehcache 2.0进行集成...在EhCacheDemo项目中,你将找到一个完整的示例,包括所有必要的配置文件、Java代码和测试用例,这将帮助你更好地理解和实践Spring与Ehcache的集成。

    spring_springtestcase+ehcache的demo

    【标题】"spring_springtestcase+ehcache的demo"是一个示例项目,它整合了Spring框架的测试组件Spring Test Case与缓存解决方案Ehcache。这个项目的主要目的是展示如何在Spring应用程序中集成并测试Ehcache缓存系统...

    DWZ+springMvc+hibernate+ehcache 简易的后台管理+即时通讯

    标题中的“DWZ+springMvc+hibernate+ehcache 简易的后台管理+即时通讯”揭示了这个项目采用的技术栈,包括前端框架、后端框架、持久层框架以及缓存管理工具。让我们逐一深入理解这些技术点: 1. **DWZ**:DWZ全称为...

    maven整合ssm框架+EhCache搭建(eclipse可直接运行).zip

    SSM框架是Java Web开发中常用的三大框架Spring、Spring MVC和MyBatis的组合,而EhCache则是一个广泛使用的内存缓存系统,用于提高应用性能。本项目旨在通过Maven构建工具,将这四个组件整合在一起,创建一个在...

    spring整合ehcache的完整用例

    通过以上步骤,你就可以在Spring应用中成功整合并使用Ehcache作为缓存机制。在`ehcacheDemo`项目中,你可以找到具体的代码示例,包括配置文件、服务类以及相关的测试用例,帮助你理解和实践这一过程。注意,实际应用...

    《Java EE企业级应用开发教程Spring+Spring MVC+MyBatis》_源代码.zip

    通过示例展示如何配置Spring容器,以及如何使用Bean定义、自动装配和作用域。 3. **Chapter 05** - Spring MVC:介绍Spring MVC作为Java EE Web应用程序的模型-视图-控制器(MVC)架构。讨论DispatcherServlet、...

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

    ### Ehcache 整合Spring 使用页面、对象缓存 #### 一、Ehcache简介与特点 Ehcache是一款开源的、高性能的Java缓存框架,它可以用来存储、检索短期数据,以减轻数据库的压力,提高应用程序性能。Ehcache不仅支持...

    Spring4 整合EhCache实现 页面缓存 零配置

    在本文中,我们将深入探讨如何使用Spring4框架与EhCache进行整合,以实现零配置的页面缓存功能。EhCache是一个广泛使用的开源Java缓存解决方案,它提供了高效的内存和磁盘缓存机制,有助于提升应用程序性能。通过...

    Ehcache+xmemcached+redis 整合spring注解demo

    5. **整合示例**: 在"memcached_test"这个测试文件中,可能包含了整合Ehcache、xmemcached和Redis的代码示例。这个测试可能涵盖了如何配置Spring的缓存抽象,如何定义缓存命名空间,如何使用注解驱动缓存操作,以及...

    Spring+Struts+Hibernate比较详细的整合配置方案

    例如,使用缓存技术(如 EhCache)来提高数据访问效率,使用Spring Security进行权限控制,以及通过Log4j记录系统运行日志。 总之,Spring+Struts+Hibernate的整合是一项涉及多层面的技术工作,它需要对每个框架有...

    Spring整合EhCache详细教程(史上最全)

    ### Spring整合EhCache详细教程 #### Spring缓存抽象与核心思想 在开始Spring整合EhCache之前,首先需要理解Spring缓存的核心概念及其抽象机制。Spring框架本身并不提供具体的缓存实现,但它提供了一套统一的缓存...

    spring+hibernate整合

    - 使用 SSH01 示例项目进行测试,编写测试类,验证 Spring 和 Hibernate 的整合是否成功,包括数据的存取、事务的正确性等。 通过以上步骤,我们可以将 Spring 的控制反转和面向切面编程特性与 Hibernate 的 ORM ...

    Spring 3.0+Struts2+Mybatis 3 + p6spy 平台框架

    这是自己整合的Spring 3.0+Struts2+Mybatis 3 + p6spy +ehcache的平台框架,内含一点示例代码,目前ehcache没有使用。直接编译后发布就能用 测试环境基于JDK1.6+Tomcat 6.0. 大家拿到后请根据实际情况修改 ...

    详解Spring整合Ehcache管理缓存

    通过这种方式,Spring 将 Ehcache 整合进应用程序,使得开发者可以方便地管理和使用缓存,无需关注缓存的具体实现细节。 总结,Spring 与 Ehcache 的整合使得我们可以充分利用 Ehcache 的性能优势,同时享受 Spring...

    Spring整合EhCache

    Spring 整合 EhCache 为开发者提供了一种简单有效的方式来集成缓存功能,从而提高应用程序的性能。通过合理的配置和使用注解,可以极大地简化缓存逻辑的编写,使得开发人员能够更加专注于业务逻辑的实现。

    Spring Boot整合EhCache的步骤详解

    通过以上步骤,我们就成功地将EhCache整合到了Spring Boot应用中。EhCache不仅提升了数据访问速度,还降低了数据库的压力,是构建高性能Web应用的理想选择。在实际开发中,可以根据具体需求调整缓存策略,如缓存更新...

Global site tag (gtag.js) - Google Analytics