`

ehcache教程

    博客分类:
  • web
 
阅读更多
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;
}
分享到:
评论
1 楼 798881262 2015-04-02  
就这点也敢叫教程

相关推荐

    Ehcache经典中文教程

    本教程将深入讲解 Ehcache 的基本概念、安装、配置以及编码接口的使用。 首先,Ehcache 的类层次结构主要由 CacheManager、Cache 和 Element 三层组成: 1. **CacheManager**:这是操作 Ehcache 的入口,你可以...

    ehcache 专业教程

    Ehcache是一个流行的Java缓存库,用于提高应用程序性能,通过存储经常访问的数据来减少数据库查询的次数。本文将深入探讨Ehcache的核心组件、配置和使用方式。 首先,Ehcache的配置主要通过XML文件完成,如示例中的...

    ehcache官方教程

    ### Ehcache官方教程知识点概述 #### 一、简介(Introduction) Ehcache 是一款广泛使用的开源 Java 缓存解决方案,自 2003 年发布以来,不断根据用户需求和反馈进行迭代与完善。其功能强大且灵活,能够满足各种...

    Ehcache经典教程实例应用-原创

    【Ehcache经典教程实例应用】 Ehcache是一款广受欢迎的Java缓存框架,它的主要目的是缓解数据库压力,提升应用程序的访问速度。通过在内存中存储常用数据,Ehcache可以减少对数据库的频繁访问,从而提高整体系统...

    ehcache3-samples, 关于使用 Ehcache 3,一些示例/教程.zip

    ehcache3-samples, 关于使用 Ehcache 3,一些示例/教程 Ehcache示例这里知识库包含有关 Ehcache 3用法的示例和教程。示例'basic'演示 Ehcache 3的基本配置和用法'集群'- 演示如何在Terracotta服务器上使用分布式缓存...

    Spring Boot 2.x基础教程:使用EhCache缓存集群.docx

    在Spring Boot 2.x应用程序中,EhCache是一种常用的缓存解决方案,用于提高应用程序性能,减少对数据库的访问。然而,当我们的应用被部署在分布式环境中,即多个进程同时运行时,缓存的一致性问题变得至关重要。为了...

    ehcache缓存教程

    **Ehcache缓存教程** Ehcache是一个广泛使用的开源Java缓存库,适用于各种Java应用程序,特别是J2EE、Java、Spring和Struts框架。它提供了高效且可扩展的缓存解决方案,能够显著提高应用性能,降低数据库负载。本...

    Ehcache最新版本的UserGuide

    ### Ehcache最新版本的UserGuide知识点总结 #### 一、概览 《Ehcache最新版本的UserGuide》是一份详尽的技术文档,主要介绍了Ehcache 1.7.1版本的功能特性、应用场景以及如何有效地利用该缓存系统来提升应用程序的...

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

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

    Hibernate4 + Ehcache 例子

    6. **最佳实践**:教程可能会讨论使用缓存的最佳实践,如合理设置缓存大小,处理缓存穿透和雪崩问题,以及在多线程环境下使用Ehcache需要注意的事项。 7. **源码分析**:由于标签中有“源码”,我们可以期待看到...

    SpringBoot中使用Ehcache的详细教程

    【SpringBoot中使用Ehcache的详细教程】 EhCache是一个高效的Java进程内缓存框架,因其快速、轻量级的特性,常被用作Hibernate的默认CacheProvider。本教程将详细讲解如何在SpringBoot项目中集成并使用Ehcache。 #...

    mybatis-ehcache-1.0.3.rar

    5. **示例代码或文档**:可能包含如何在项目中集成和配置MyBatis-Ehcache的示例或教程。 要使用MyBatis-Ehcache,你需要在MyBatis的配置文件中声明Ehcache作为缓存实现,并配置相应的Ehcache XML配置文件。在...

    初学ehcache,3分钟搞定。

    ### ehcache基础知识与实践 #### 一、ehcache简介 ehcache是一款开源的、纯Java的语言缓存框架,主要用于提高应用程序性能。它提供了一种在内存中存储对象的方法,能够帮助开发者快速实现对数据的缓存操作,从而...

    ehcache-2.10.5-distribution.tar.gz

    - `examples`:示例代码和教程,帮助理解如何在实际项目中使用Ehcache。 - `LICENSE`:软件授权协议。 总之,Ehcache 2.10.5是一个强大的缓存解决方案,它提供了丰富的功能和高度的可定制性,对于Java开发者来说是...

    Spring3.2 MVC+ehcache+接口测试

    标题 "Spring3.2 MVC+ehcache+接口测试" 暗示了这个项目或教程是关于使用Spring框架的MVC模块,Ehcache缓存系统以及如何进行接口测试的。我们将深入探讨这三个核心概念。 **Spring MVC** Spring MVC是Spring框架的...

    37. Spring Boot集成EHCache实现缓存机制【从零开始学Spring Boot】

    在本教程中,我们将深入探讨如何使用Spring Boot集成EHCache来实现高效的缓存机制。Spring Boot简化了配置过程,使得我们可以快速地将EHCache引入到我们的应用中,从而提高应用程序的性能,减少对数据库或其他资源的...

    memcached完全剖析ehcache memcached redis 缓存技术总结

    7. **配置与集成** - 教程可能包括如何在项目中集成这些缓存系统,以及相关的配置选项和最佳实践。 8. **源码分析** - 针对开发人员,可能有对这些缓存系统关键组件的源码解析,帮助理解其内部运作机制。 9. **...

    Spring+ehcache整合

    本教程将深入探讨如何在Spring 4.1版本中整合Ehcache 2.10.2,实现高效的缓存功能。 首先,让我们了解Ehcache的基本概念。Ehcache是一个开源的、基于内存的分布式缓存系统,支持本地缓存、分布式缓存以及 ...

Global site tag (gtag.js) - Google Analytics