`
zhuruxin86
  • 浏览: 105967 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

EHCache入门系列(四)–在Spring中运用EHCache

阅读更多
主要使用Spring提供的springmodules和EHCache来简化程序的开发,通过配置文件来完成提供缓存。参考springmodules的文档。

参考

基于springmodules的缓存方案
一 基于xml配置和拦截
主要步骤

1、配置ehcache.xml文件

2、创建Spring EHCache的配置xml文件

配置文件代码示例

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

<beans xmlns="http://www.springframework.org/schema/beans"

    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"

    xmlns:ehcache="http://www.springmodules.org/schema/ehcache"

    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd         http://www.springmodules.org/schema/ehcache http://www.springmodules.org/schema/cache/springmodules-ehcache.xsd">



    <bean id="EhCacheFacade"

       class="org.springmodules.cache.provider.ehcache.EhCacheFacade">

       <property name="failQuietlyEnabled" value="true" />

       <property name="cacheManager">

           <bean

              class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">

              <property name="configLocation"

                  value="classpath:ehcache.xml">

              </property>

           </bean>

       </property>

    </bean>



    <bean id="cachingInterceptor"

       class="org.springmodules.cache.interceptor.caching.MethodMapCachingInterceptor">

       <property name="cacheProviderFacade" ref="EhCacheFacade" />

       <property name="cachingModels">

           <props>

              <prop key="com....test.Manager.get*">

                  cacheName=dictCache

              </prop>

           </props>

       </property>

    </bean>

   

    <bean id="flushingInterceptor"

       class="org.springmodules.cache.interceptor.flush.MethodMapFlushingInterceptor">

       <property name="cacheProviderFacade" ref="EhCacheFacade" />

       <property name="flushingModels">

           <props>

              <prop key="com....test.Manager.update*">

                  cacheNames=dictCache

              </prop>

           </props>

       </property>

    </bean>

   

    <bean

       class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">

       <property name="beanNames">

           <value>*anager</value>

       </property>

       <property name="interceptorNames">

           <list>

              <value>flushingInterceptor</value>

              <value>cachingInterceptor</value>

           </list>

       </property>

    </bean>

    <bean id="manager" class="com...test.Manager"></bean>

</beans>

<cache name="dictCache"

   maxElementsInMemory="50"

   eternal="false"

   timeToIdleSeconds="60"

   timeToLiveSeconds="60"

   overflowToDisk="false"

   memoryStoreEvictionPolicy="LFU">

   </cache>




缓存说明:

1、方法不含有参数

时间到期缓存失效;调用flush,缓存失效。

2、方法中含有参数

参数不同则每次都缓存,若缓存中存在相同对象,则调用缓存。

当调用flush,该id对应的缓存都失效。

当缓存时间到期,该id对应的缓存都失效。

建议:对没有关联的缓存对象采取不同的id配置。所以ehcache会有好多的cache-id配置信息。

<props>

             <prop key="com....test.Manager.get*">

                 cacheName=dictCache

             </prop>

             ………                     

             <prop key="com....test.Manager2.get*">

                 cacheName=dictCache2

             </prop>

          </props>



          <props>

             <prop key="com....test.Manager.update*">

                 cacheNames=dictCache

             </prop>

             ………

             <prop key="com....test.Manager2.update*">

                 cacheNames=dictCache2

             </prop>

          </props>



二 基于注解
详见下面的一篇文章,已经很详细了

使用spring-modules-0.9实现注解缓存
分享到:
评论

相关推荐

    spring+ehcache

    在IT行业中,Spring框架是Java企业级应用开发的首选,而Ehcache则是一个流行的、高性能的缓存系统。本文将深入探讨如何将Ehcache与Spring进行整合,以提高应用程序的性能和效率,主要基于提供的"spring+ehcache"入门...

    ehcache缓存入门项目

    在这个“ehcache缓存入门项目”中,我们将深入探讨EhCache的基本概念、配置、使用方法以及一些实用技巧。 1. **EhCache简介** EhCache是一个基于内存的分布式缓存解决方案,它可以存储对象并提供快速访问。它支持...

    springmvc+ehcache简单例子

    Spring MVC 和 Ehcache 是两个在Java Web开发中广泛使用的开源框架。Spring MVC 是Spring框架的一部分,主要用于构建MVC(Model-View-Controller)结构的Web应用程序,而Ehcache则是一个流行的缓存解决方案,用于...

    Mybatis入门实例(二)——添加ehcache缓存支持

    在本篇《Mybatis入门实例(二)——添加ehcache缓存支持》中,我们将深入探讨如何在Mybatis框架中集成Ehcache作为二级缓存,以提高数据访问的效率和性能。Ehcache是一个开源的Java分布式缓存,广泛用于缓存应用程序中...

    spring shiro整合入门

    通常,我们需要在pom.xml文件中添加Spring的相关依赖以及Shiro的核心依赖,例如`spring-context`、`spring-web`、`shiro-core`和`shiro-spring`。 2. **配置Shiro**:创建Shiro的配置文件,如`shiro.ini`,设置 ...

    ehcache-2.5.1-distribution.tar.gz最新下载

    在Ehcache 2.5.1版本中,你可以找到以下关键知识点: 1. **核心概念**:Ehcache的核心包括缓存管理器(Cache Manager)、缓存(Cache)、缓存项(Cache Entry)和缓存配置。缓存管理器是整个缓存系统的入口,负责...

    Ehcache最新版本的UserGuide

    #### 四、入门指南 ##### 3.1 通用缓存 介绍了如何使用Ehcache进行通用缓存操作的基础知识。 ##### 3.2 Hibernate集成 讲解了如何将Ehcache与Hibernate框架集成以实现二级缓存。 ##### 3.3 Java EE Servlet缓存 ...

    Ehcache官方文档.pdf

    - **通用缓存**:介绍如何在任何Java应用中快速启用Ehcache的基本步骤。 - **Hibernate集成**:指导开发人员如何将Ehcache与Hibernate结合使用,以提高查询性能。 - **J2EE Servlet缓存**:提供有关如何在基于...

    maven整合ssh框架 + ehcache搭建、可直接运行导入运行

    在SSH框架中,Ehcache通常与Hibernate结合使用,将频繁查询的结果缓存起来,当再次请求相同数据时,直接从缓存中读取,避免了数据库查询的开销。 **整合流程** - 首先,需要在Maven的POM.xml文件中添加SSH框架和...

    JavaWeb开发之Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架

    在JavaWeb开发中,构建一个完整的Web基础框架是非常重要的,因为它可以提高开发效率,提供良好的架构,便于维护和扩展。本篇文章将详细讲解基于Spring、SpringMVC、MyBatis、SpringSecurity、EhCache和JCaptcha这六...

    spring缓存机制-入门实例

    在Spring框架中,缓存机制是一项重要的功能,它允许...在"spring缓存机制-入门实例(一)"这个压缩包中,你将找到一个实际的示例,演示如何在Spring应用中集成和使用缓存机制,帮助你更直观地理解和掌握这一关键技能。

    ehcache-2.5.2-distribution 1

    在本文中,我们将深入探讨Ehcache 2.5.2版本的各个方面,基于提供的压缩包文件信息。 1. **Ehcache核心概念**: Ehcache是一个基于内存的分布式缓存系统,它可以将数据存储在本地内存或硬盘上。它支持多级缓存,...

    Spring Boot快速入门

    在这个快速入门教程中,我们将深入探讨Spring Boot的核心特性,并通过实际代码示例来理解其工作原理。 ### 一、Spring Boot的优势 1. **起步依赖(Starter Dependencies)**:Spring Boot通过起步依赖简化了Maven...

    Ehcache User Guide

    《Ehcache用户指南》深度解析与应用技巧 在当今数据密集型应用环境中,缓存技术已成为提升系统性能、响应速度以及可扩展性的关键因素...无论是在小型项目还是大规模分布式系统中,Ehcache都是值得信赖的缓存解决方案。

    SpringAll_wuyouzhuguli.tar.gz

    循序渐进,学习Spring Boot、Spring Boot & Shiro、Spring Cloud、Spring Security & Spring Security OAuth2,博客Spring系列源码 一、Spring Boot教程 开启Spring Boot Spring Boot基础配置 Spring Boot中使用...

    springmvc+Mybatis+activiti5

    此项目为springmvc、Mybatis、EHcache、maven、Spring security3、activiti5工作流的整合 是一个基于数据库的权限管理demo项目、使用mysql数据库 项目运行前需要构建maven私服 而且有些jar包私服中肯定没有,需要...

    尚硅谷2018最新SpringBoot 上下 核心技术和整合,SpringCloud教学视频

    2. **缓存管理**:涵盖了Spring Boot中Redis和EhCache的集成,以及缓存策略的设计与优化。 3. **消息队列**:介绍了如何利用RabbitMQ或Kafka实现异步处理和消息传递。 4. **定时任务**:讲解Quartz或Spring Task的...

    Spring Persistence with Hibernate

    在Spring和Hibernate的整合中,Spring通过其HibernateTemplate或SessionFactoryBean等组件来管理Hibernate的SessionFactory和Session实例。这样,开发者可以通过Spring的依赖注入获取到这些对象,无需在代码中手动...

    spring boot 相关技术

    1. **Spring Boot 入门**:介绍 Spring Boot 的基本概念,如何创建第一个 Spring Boot 项目,以及如何使用 Spring Initializr 快速初始化项目。 2. **Spring Boot 自动配置**:解释 Spring Boot 如何通过 @...

    Redis整合SpringCache实例

    **Redis整合SpringCache实例** 在现代的Web应用中,数据缓存是提高系统性能的关键技术之一。...通过深入研究和实践,你将更好地掌握如何在实际项目中运用Redis和Spring Cache来构建高性能的分布式系统。

Global site tag (gtag.js) - Google Analytics