主要使用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实现注解缓存
分享到:
相关推荐
在IT行业中,Spring框架是Java企业级应用开发的首选,而Ehcache则是一个流行的、高性能的缓存系统。本文将深入探讨如何将Ehcache与Spring进行整合,以提高应用程序的性能和效率,主要基于提供的"spring+ehcache"入门...
在这个“ehcache缓存入门项目”中,我们将深入探讨EhCache的基本概念、配置、使用方法以及一些实用技巧。 1. **EhCache简介** EhCache是一个基于内存的分布式缓存解决方案,它可以存储对象并提供快速访问。它支持...
Spring MVC 和 Ehcache 是两个在Java Web开发中广泛使用的开源框架。Spring MVC 是Spring框架的一部分,主要用于构建MVC(Model-View-Controller)结构的Web应用程序,而Ehcache则是一个流行的缓存解决方案,用于...
在本篇《Mybatis入门实例(二)——添加ehcache缓存支持》中,我们将深入探讨如何在Mybatis框架中集成Ehcache作为二级缓存,以提高数据访问的效率和性能。Ehcache是一个开源的Java分布式缓存,广泛用于缓存应用程序中...
通常,我们需要在pom.xml文件中添加Spring的相关依赖以及Shiro的核心依赖,例如`spring-context`、`spring-web`、`shiro-core`和`shiro-spring`。 2. **配置Shiro**:创建Shiro的配置文件,如`shiro.ini`,设置 ...
在Ehcache 2.5.1版本中,你可以找到以下关键知识点: 1. **核心概念**:Ehcache的核心包括缓存管理器(Cache Manager)、缓存(Cache)、缓存项(Cache Entry)和缓存配置。缓存管理器是整个缓存系统的入口,负责...
#### 四、入门指南 ##### 3.1 通用缓存 介绍了如何使用Ehcache进行通用缓存操作的基础知识。 ##### 3.2 Hibernate集成 讲解了如何将Ehcache与Hibernate框架集成以实现二级缓存。 ##### 3.3 Java EE Servlet缓存 ...
- **通用缓存**:介绍如何在任何Java应用中快速启用Ehcache的基本步骤。 - **Hibernate集成**:指导开发人员如何将Ehcache与Hibernate结合使用,以提高查询性能。 - **J2EE Servlet缓存**:提供有关如何在基于...
在SSH框架中,Ehcache通常与Hibernate结合使用,将频繁查询的结果缓存起来,当再次请求相同数据时,直接从缓存中读取,避免了数据库查询的开销。 **整合流程** - 首先,需要在Maven的POM.xml文件中添加SSH框架和...
在JavaWeb开发中,构建一个完整的Web基础框架是非常重要的,因为它可以提高开发效率,提供良好的架构,便于维护和扩展。本篇文章将详细讲解基于Spring、SpringMVC、MyBatis、SpringSecurity、EhCache和JCaptcha这六...
在Spring框架中,缓存机制是一项重要的功能,它允许...在"spring缓存机制-入门实例(一)"这个压缩包中,你将找到一个实际的示例,演示如何在Spring应用中集成和使用缓存机制,帮助你更直观地理解和掌握这一关键技能。
在本文中,我们将深入探讨Ehcache 2.5.2版本的各个方面,基于提供的压缩包文件信息。 1. **Ehcache核心概念**: Ehcache是一个基于内存的分布式缓存系统,它可以将数据存储在本地内存或硬盘上。它支持多级缓存,...
在这个快速入门教程中,我们将深入探讨Spring Boot的核心特性,并通过实际代码示例来理解其工作原理。 ### 一、Spring Boot的优势 1. **起步依赖(Starter Dependencies)**:Spring Boot通过起步依赖简化了Maven...
《Ehcache用户指南》深度解析与应用技巧 在当今数据密集型应用环境中,缓存技术已成为提升系统性能、响应速度以及可扩展性的关键因素...无论是在小型项目还是大规模分布式系统中,Ehcache都是值得信赖的缓存解决方案。
循序渐进,学习Spring Boot、Spring Boot & Shiro、Spring Cloud、Spring Security & Spring Security OAuth2,博客Spring系列源码 一、Spring Boot教程 开启Spring Boot Spring Boot基础配置 Spring Boot中使用...
此项目为springmvc、Mybatis、EHcache、maven、Spring security3、activiti5工作流的整合 是一个基于数据库的权限管理demo项目、使用mysql数据库 项目运行前需要构建maven私服 而且有些jar包私服中肯定没有,需要...
2. **缓存管理**:涵盖了Spring Boot中Redis和EhCache的集成,以及缓存策略的设计与优化。 3. **消息队列**:介绍了如何利用RabbitMQ或Kafka实现异步处理和消息传递。 4. **定时任务**:讲解Quartz或Spring Task的...
在Spring和Hibernate的整合中,Spring通过其HibernateTemplate或SessionFactoryBean等组件来管理Hibernate的SessionFactory和Session实例。这样,开发者可以通过Spring的依赖注入获取到这些对象,无需在代码中手动...
1. **Spring Boot 入门**:介绍 Spring Boot 的基本概念,如何创建第一个 Spring Boot 项目,以及如何使用 Spring Initializr 快速初始化项目。 2. **Spring Boot 自动配置**:解释 Spring Boot 如何通过 @...
**Redis整合SpringCache实例** 在现代的Web应用中,数据缓存是提高系统性能的关键技术之一。...通过深入研究和实践,你将更好地掌握如何在实际项目中运用Redis和Spring Cache来构建高性能的分布式系统。