Spring 3.0.5的,更细颗粒化的缓存设置,更方便的注解,可以具体到把每个方式的返回值做缓存,
需要 ehcache-spring-annotations-1.1.x,附件已提供
首先,applicationContext.xml
<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:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:ehcache="http://ehcache-spring-annotations.googlecode.com/svn/schema/ehcache-spring"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://ehcache-spring-annotations.googlecode.com/svn/schema/ehcache-spring
http://ehcache-spring-annotations.googlecode.com/svn/schema/ehcache-spring/ehcache-spring-1.1.xsd">
<ehcache:annotation-driven cache-manager="ehCacheManager" />
<bean id="ehCacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
<property name="configLocation" value="classpath:ehcache.xml" />
</bean>
其次,src下的ehcache.xml
<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"
updateCheck="false">
<diskStore path="java.io.tmpdir" />
<defaultCache eternal="false"
maxElementsInMemory="1000"
overflowToDisk="false"
diskPersistent="false"
timeToIdleSeconds="0"
timeToLiveSeconds="600"
memoryStoreEvictionPolicy="LRU" />
<cache name="departCache"
eternal="false"
maxElementsInMemory="100"
overflowToDisk="false"
diskPersistent="false"
timeToIdleSeconds="0"
timeToLiveSeconds="300"
memoryStoreEvictionPolicy="LRU" />
</ehcache>
DAO层缓存:例如下边这个方法的返回值需要缓存:
@SuppressWarnings("unchecked")
//spring 3 基于注解ehcache缓存配置;
@Cacheable(cacheName="departCache")
public List<AppDepart> getChildDepart(Integer id) throws Exception {
return this.getHibernateTemplate().find("from AppDepart where state=1 and idParent="+id);
}
@Cacheable(cacheName="departCache") 加上这句话,其中cacheName 对应ehcache.xml 中的<cache name="departCache"
这样这个方法返回值就可以被缓存起来的了,但是怎么样把缓存数据和数据库中的数据实现同步呢?
如果对这个PO做update ,save,delete 可以实现这样策略如下:
@Transactional(propagation = Propagation.REQUIRED)
//设定spring的ecache缓存策略,当编辑机构时候,把缓存全部清除掉,以达到缓存那数据同步;
@TriggersRemove(cacheName="departCache",removeAll=true)
public boolean editDepart(String depno, String depName) {
boolean flag = false;
try {
AppDepart depart = departDao.getAppdepart(depno);
depart.setDepName(depName);
departDao.update(depart);
flag = true;
} catch (Exception e) {
e.printStackTrace();
}
return flag;
}
分享到:
相关推荐
本教程将深入讲解 Ehcache 的基本概念、安装、配置以及编码接口的使用。 首先,Ehcache 的类层次结构主要由 CacheManager、Cache 和 Element 三层组成: 1. **CacheManager**:这是操作 Ehcache 的入口,你可以...
Ehcache是一个流行的Java缓存库,用于提高应用程序性能,通过存储经常访问的数据来减少数据库查询的次数。本文将深入探讨Ehcache的核心组件、配置和使用方式。 首先,Ehcache的配置主要通过XML文件完成,如示例中的...
### Ehcache官方教程知识点概述 #### 一、简介(Introduction) Ehcache 是一款广泛使用的开源 Java 缓存解决方案,自 2003 年发布以来,不断根据用户需求和反馈进行迭代与完善。其功能强大且灵活,能够满足各种...
【Ehcache经典教程实例应用】 Ehcache是一款广受欢迎的Java缓存框架,它的主要目的是缓解数据库压力,提升应用程序的访问速度。通过在内存中存储常用数据,Ehcache可以减少对数据库的频繁访问,从而提高整体系统...
ehcache3-samples, 关于使用 Ehcache 3,一些示例/教程 Ehcache示例这里知识库包含有关 Ehcache 3用法的示例和教程。示例'basic'演示 Ehcache 3的基本配置和用法'集群'- 演示如何在Terracotta服务器上使用分布式缓存...
在Spring Boot 2.x应用程序中,EhCache是一种常用的缓存解决方案,用于提高应用程序性能,减少对数据库的访问。然而,当我们的应用被部署在分布式环境中,即多个进程同时运行时,缓存的一致性问题变得至关重要。为了...
**Ehcache缓存教程** Ehcache是一个广泛使用的开源Java缓存库,适用于各种Java应用程序,特别是J2EE、Java、Spring和Struts框架。它提供了高效且可扩展的缓存解决方案,能够显著提高应用性能,降低数据库负载。本...
### Ehcache最新版本的UserGuide知识点总结 #### 一、概览 《Ehcache最新版本的UserGuide》是一份详尽的技术文档,主要介绍了Ehcache 1.7.1版本的功能特性、应用场景以及如何有效地利用该缓存系统来提升应用程序的...
### Spring整合EhCache详细教程 #### Spring缓存抽象与核心思想 在开始Spring整合EhCache之前,首先需要理解Spring缓存的核心概念及其抽象机制。Spring框架本身并不提供具体的缓存实现,但它提供了一套统一的缓存...
6. **最佳实践**:教程可能会讨论使用缓存的最佳实践,如合理设置缓存大小,处理缓存穿透和雪崩问题,以及在多线程环境下使用Ehcache需要注意的事项。 7. **源码分析**:由于标签中有“源码”,我们可以期待看到...
【SpringBoot中使用Ehcache的详细教程】 EhCache是一个高效的Java进程内缓存框架,因其快速、轻量级的特性,常被用作Hibernate的默认CacheProvider。本教程将详细讲解如何在SpringBoot项目中集成并使用Ehcache。 #...
5. **示例代码或文档**:可能包含如何在项目中集成和配置MyBatis-Ehcache的示例或教程。 要使用MyBatis-Ehcache,你需要在MyBatis的配置文件中声明Ehcache作为缓存实现,并配置相应的Ehcache XML配置文件。在...
### ehcache基础知识与实践 #### 一、ehcache简介 ehcache是一款开源的、纯Java的语言缓存框架,主要用于提高应用程序性能。它提供了一种在内存中存储对象的方法,能够帮助开发者快速实现对数据的缓存操作,从而...
- `examples`:示例代码和教程,帮助理解如何在实际项目中使用Ehcache。 - `LICENSE`:软件授权协议。 总之,Ehcache 2.10.5是一个强大的缓存解决方案,它提供了丰富的功能和高度的可定制性,对于Java开发者来说是...
标题 "Spring3.2 MVC+ehcache+接口测试" 暗示了这个项目或教程是关于使用Spring框架的MVC模块,Ehcache缓存系统以及如何进行接口测试的。我们将深入探讨这三个核心概念。 **Spring MVC** Spring MVC是Spring框架的...
在本教程中,我们将深入探讨如何使用Spring Boot集成EHCache来实现高效的缓存机制。Spring Boot简化了配置过程,使得我们可以快速地将EHCache引入到我们的应用中,从而提高应用程序的性能,减少对数据库或其他资源的...
7. **配置与集成** - 教程可能包括如何在项目中集成这些缓存系统,以及相关的配置选项和最佳实践。 8. **源码分析** - 针对开发人员,可能有对这些缓存系统关键组件的源码解析,帮助理解其内部运作机制。 9. **...
本教程将深入探讨如何在Spring 4.1版本中整合Ehcache 2.10.2,实现高效的缓存功能。 首先,让我们了解Ehcache的基本概念。Ehcache是一个开源的、基于内存的分布式缓存系统,支持本地缓存、分布式缓存以及 ...