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

Spring Module下配置缓存的两种方法

阅读更多

以EhCache为例说明缓存的配置方法:

第一种方法,配置Spring配置文件,使用AOP处理缓存

1)添加Provider,初始化CacheManager

Xml代码
<!--  
Thecreatedcachemanagerisaninstanceofnet.sf.ehcache.CacheManager  
-->  
<beanidbeanid="cacheManager"  
class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">  
</bean>  
<beanidbeanid="cacheProviderFacade"  
class="org.springmodules.cache.provider.ehcache.EhCacheFacade">  
<propertynamepropertyname="cacheManager"ref="cacheManager"/>  
</bean>  
<!--
Thecreatedcachemanagerisaninstanceofnet.sf.ehcache.CacheManager
-->
<beanid="cacheManager"
class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
</bean>
<beanid="cacheProviderFacade"
class="org.springmodules.cache.provider.ehcache.EhCacheFacade">
<propertyname="cacheManager"ref="cacheManager"/>
</bean> 2)在ehcache.xml增加一个缓存

增加一个name为testCache的缓存。

Xml代码
<cache name="testCache"  
           maxElementsInMemory="20000"  
           maxElementsOnDisk="1000"  
           eternal="true"  
           overflowToDisk="true"  
           memoryStoreEvictionPolicy="LFU"  
    />  
<cache name="testCache"
           maxElementsInMemory="20000"
           maxElementsOnDisk="1000"
           eternal="true"
           overflowToDisk="true"
           memoryStoreEvictionPolicy="LFU"
    />3)配置缓存

Xml代码
<bean id="testService"  
 class="org.springmodules.cache.interceptor.proxy.CacheProxyFactoryBean">  
 <property name="cacheProviderFacade" ref="cacheProviderFacade" />  
 <property name="cachingModels">  
  <props>  
   <prop key="find*">cacheName=<STRONG>testCache(a)</STRONG></prop>  
   <prop key="is*">cacheName=testCache</prop>  
  </props>  
 </property>  
 <property name="flushingModels">  
  <props>  
   <prop key="insert*">cacheNames=testCache</prop>  
   <prop key="delete*">cacheNames=testCache</prop>  
   <prop key="update*">cacheNames=testCache</prop>  
  </props>  
 </property>  
 <property name="target" ref="<STRONG>testServiceTarget(b)</STRONG>" />  
</bean>  
 <bean id="testService"
  class="org.springmodules.cache.interceptor.proxy.CacheProxyFactoryBean">
  <property name="cacheProviderFacade" ref="cacheProviderFacade" />
  <property name="cachingModels">
   <props>
    <prop key="find*">cacheName=testCache(a)</prop>
    <prop key="is*">cacheName=testCache</prop>
   </props>
  </property>
  <property name="flushingModels">
   <props>
    <prop key="insert*">cacheNames=testCache</prop>
    <prop key="delete*">cacheNames=testCache</prop>
    <prop key="update*">cacheNames=testCache</prop>
   </props>
  </property>
  <property name="target" ref="testServiceTarget(b)" />
 </bean>

其中(a)为第2步定义的cache的名字,(b)为需要缓存的bean的id。

这样,第一种方式就配置好了。

第二种方法,使用Annotations的配置方式。

1)同第一种方法1)。

2)同第二种方法2)。

3)在需要处理缓存的方法前面配置Annotion

@Cacheable(modelId="testCache")//写在方法前面就会缓存方法的返回结果

@CacheFlush(modelId="testFlushing")//写在方法前面,就会在执行该函数时清除缓存里面的数据。

这样第二种方法也完成了。

第一种方法在flush的时候可以同时flush多个缓存。第二种方法只能flush一个缓存,而且第一种方法只需要修改Spring配置文件即可。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/pengchua/archive/2009/08/02/4401136.aspx

分享到:
评论

相关推荐

    spring简单的缓存

    需要在Spring配置中声明所使用的缓存 provider。例如,如果选择EhCache作为缓存管理器,需要添加对应的bean定义,并配置相关的属性,如缓存的名称、大小限制等。 3. **使用缓存注解**: - `@Cacheable`:此注解...

    Spring中AOP实现EHCache的整合中采用SpringModule结合(二)

    最后,不要忘记在Spring配置文件中启用AOP和切面扫描。 ```xml 你的包名"/&gt; ``` 总结起来,通过Spring Modules和Spring AOP,我们可以优雅地在Spring应用中集成EHCache,实现方法级别的缓存。这不仅能提升应用...

    Spring 缓存

    Spring 缓存机制的实现主要有两种方法:使用 Spring 与 Ehcache 结合,使用注解的方式对指定的方法进行缓存;封装 Guava 缓存,使用 Guava 包中的缓存机制。 方法一:使用 Spring 与 Ehcache 结合 使用 Spring 与 ...

    Spring基于注解的缓存配置--web应用实例

    在Spring配置文件中,我们需要启用缓存管理和指定使用的缓存管理器。例如,如果我们使用Ehcache,我们需要配置EhcacheManager,并声明缓存的bean。 7. **Web应用集成** 在Web应用程序中,缓存通常需要考虑到并发...

    spring-cache(通过key值更新缓存)

    8. **异常处理**:当方法抛出异常时,Spring Cache可以配置是否将异常信息也存入缓存,或者是否清除已有的缓存项。 通过理解并应用上述概念和策略,你可以灵活地控制Spring Cache的行为,以优化应用程序性能,特别...

    spring二级缓存

    3. **Spring配置**:在Spring的配置文件(如`applicationContext.xml`)中,启用缓存支持并指定缓存管理器。使用`&lt;cache:annotation-driven/&gt;`元素开启基于注解的缓存控制,并通过`&lt;bean&gt;`标签配置EhCache的`...

    Spring集成的Hibernate配置二级缓存

    在企业级Java应用开发中,Spring和Hibernate是两个非常重要的框架。Spring作为一个全面的轻量级容器,负责管理对象的生命周期和依赖...通过优化缓存配置和策略,可以在不牺牲数据一致性的情况下,达到良好的用户体验。

    Spring缓存配置

    **Spring缓存配置详解** 在Java Web开发中,Spring框架以其强大的功能和灵活性深受开发者喜爱。其中,Spring的缓存管理是提升应用性能的关键部分,它允许我们将经常访问但变化不频繁的数据存储在内存中,以减少对...

    spring自动加载缓存

    当方法被调用时,Spring会检查缓存中是否存在对应的结果,如果存在则直接返回,无需再次执行方法;如果不存在,执行方法并将结果存入缓存。 2. **@CacheEvict**:此注解用于清除缓存。当某个操作完成后,可能需要...

    基于Spring的Web缓存

    总的来说,基于Spring的Web缓存涉及到Spring框架的缓存抽象、注解驱动的缓存逻辑、Maven依赖管理和实际缓存实现的选择与配置。理解并熟练掌握这些知识点,将有助于构建高性能、低延迟的Web应用。开发者需要考虑缓存...

    spring+redis作为缓存,带springTest配置

    然后,我们需要在Spring的配置文件(如`application.properties`或`application.yml`)中设置Redis服务器的连接信息,包括主机名、端口、密码等。 接下来,通过Spring的缓存注解(如`@Cacheable`、`@CacheEvict`、`...

    spring + ehcache + redis两级缓存

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

    spring缓存机制-入门实例

    在Spring配置文件中,我们需要启用缓存管理器并配置所使用的缓存技术。例如,使用EhCache时,需要添加EhCache的依赖,并在配置中声明`CacheManager`,以及定义缓存的配置元素。 3. **缓存属性**: - `key`:定义...

    spring缓存实例

    2. 配置缓存管理器:在Spring配置文件中定义`CacheManager`,设置缓存提供商和配置参数。 3. 配置缓存:使用`@EnableCaching`开启缓存支持,并通过`@CacheConfig`注解设置全局缓存配置。 4. 使用注解:在需要缓存的...

    Spring+EhCache缓存实例

    Spring框架与EhCache的结合,为开发者提供了一种高效、易用的缓存解决方案。本文将深入探讨Spring如何与EhCache协同工作,以及如何在实际项目中实施和配置。 **1. EhCache简介** EhCache是Java的一个开源、高性能...

    Spring 与Ehcache实现基于方法的缓存

    本篇文章将详细探讨如何在Spring框架中集成并实现基于方法的缓存机制,利用Ehcache来优化数据访问。 首先,我们需要理解Spring的AOP概念,AOP允许我们定义横切关注点,如日志、事务管理或,正如在这个案例中,缓存...

    spring小结之配置二级缓存!

    总结来说,Spring的二级缓存配置涉及多个层面,包括引入缓存库、设置缓存策略、配置Spring以及在业务代码中使用注解。合理利用二级缓存,能够有效提升系统的响应速度,降低数据库压力,但同时也需要注意缓存的维护和...

    SpringCloud Finchley Gateway 缓存请求Body和Form表单的实现

    在`filter`方法中,我们不能直接在Filter内部缓存Body,因为响应式流只能读取一次。我们需要在异步操作的链路上缓存Body。对于JSON Body,我们可以读取并转换为字符串,而对于FormData,我们需要将其转换为`...

    spring3.0两种事务管理配置

    Spring 3.0 提供了两种事务管理配置方法:基于 XML 的事务管理和基于 @Transactional 的事务管理,这两种方法都是为了实现事务管理的目标,分别具有不同的配置方式和优缺点。 基于 XML 的事务管理 这种方法不需要...

    Spring基于注解的缓存配置--EHCache AND OSCache

    Spring 3.1引入了一种统一的缓存抽象,它允许开发者在不关心具体缓存实现的情况下,轻松地在应用程序中引入缓存功能。这种抽象包括了注解、接口和配置元素,使得缓存的使用变得简单。 2. **注解驱动的缓存** - `@...

Global site tag (gtag.js) - Google Analytics