快两个月没来更新了,由于报考了SCJP就一直都忙于复习,还好过了。
今天写Ehcache。Ehcache是一套比较成熟的缓存解决方案,很多主流框架像Spring,Hibernate都对其有很好的支持。且 Ehcache是支持集群环境的,API也比较简单,上手比较容易。下面就介绍一下Ehcache主要功能的使用和在Spring环境下如何集成。
Ehcache默认的配置文件是ehcache.xml,内容如下:
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ehcache.xsd">
<!-- <diskStore path="c:\\mdcp_temp" />-->
<cacheManagerEventListenerFactory class="" properties="" />
<defaultCache
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="600"
overflowToDisk="false"
>
</defaultCache>
<cache
name="configCache"
maxElementsInMemory="1000"
maxElementsOnDisk="1000"
eternal="true"
timeToIdleSeconds="300"
timeToLiveSeconds="1000"
overflowToDisk="false"
/>
</ehcache>
这里配置了一个名为configCache的缓存实例。参数说明如下:
name: 元素名称即缓存实例的名称。
maxElementsInMemory: 设定内存中保存对象的最大值。
overflowToDisk: 设置当内存中缓存到达maxElementsInMemory指定值时是否可以写到硬盘上。
eternal: 设置内存中的对象是否为永久驻留对象。如果是则无视timeToIdleSeconds和timeToLiveSeconds两个属性。
timeToIdleSeconds: 设置某个元素消亡前的停顿时间。指元素消亡之前,两次访问时间的最大时间间隔值。
timeToLiveSeconds: 设置某个元素消亡前的生存时间。指元素从构建到消亡的最大时间间隔。
注意:defaultCache不管用不用都是必须要配置的。
Java Code:
//初始化
CacheManager manager = new CacheManager(“src/config/ehcache.xml”);
//获取指定Cache对象
Cache configCache = manager.getCache(“configCache”);
//创建节点对象
Element element = new Element(“key1”,”value1”);
//保存节点到configCache
configCache.put(element);
//从configCache获取节点
Element element2 = configCache.getCache(“key1”);
Object value = element2.getValue();
//更新节点
configCache.put(new Element(“key1”,”value2”));
//删除节点
configCache.remove(“key1”);
以上是Ehcache的基本使用,是不是很简单?
下面介绍下在Spring环境下的配置。
首先需要一个jar文件:spring-modules-cache.jar。spring-module中包含了spring与其它框架的集成功能,除了cache外还有ant,jbpm,lucene,validation等。
Maven配置为:
<!-— Spring-modules-cache -->
<dependency>
<groupId>org.springmodules</groupId>
<artifactId>spring-modules-cache</artifactId>
<version>0.8</version>
</dependency>
<!-- Ehcache -->
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>1.6.2</version>
</dependency>
Spring, Spring-modules-cache 以及 Ehcache间的依赖关系如下:
首先Ehcache会依赖于其核心配置文件ehcache.xml, 而Spring也依赖于其配置文件application.xml。加入Spring-modules-cache.jar后就可以在application.xml中创建EhCacheManagerFactoryBean对象,这个类有一个属性configLocation用于指定ehcache的配置文件。这样依赖关系就变成了application.xml依赖于ehcache.xml了。Spring-modules-cache在两者间充当了一个“粘合剂”的作用。
接着是applicaion.xml中的配置:
<!-- load the ehcache config -->
<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
<property name="configLocation">
<value>classpath:ehcache.xml</value>
</property>
</bean>
<!-- load the the configCache -->
<bean id="configCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager">
<ref local="cacheManager" />
</property>
<property name="cacheName">
<value>configCache</value>
</property>
</bean>
这样就可以通过Spring的IOC特性在需要用到configCache的类中进行注入。得到configCache后就能直接像之前那样操作cache对象了。
今天就写到这里,以后会继续更新Ehcache和Spring整合后利用AOP特性实现对于方法的缓存,以及在Hibernate中作为二级缓存的使用和它在集群环境中使用。
分享到:
相关推荐
**Spring与Ehcache集成详解** 在现代Java应用开发中,缓存技术是提升系统性能的关键环节。Ehcache作为一款流行的开源缓存解决方案,因其轻量级、高性能和易于集成的特点,常被广泛应用于Spring框架中。本篇文章将...
这篇博客将深入探讨如何将 Ehcache 集成到 Spring 应用中,以及如何使用 Spring AOP 实现计算结果的缓存。 首先,集成 Ehcache 到 Spring 需要以下步骤: 1. **引入依赖**: 在 Maven 或 Gradle 的配置文件中添加 ...
spring集成ehcache所需的jar包
spring3整合EhCache注解实例
### Spring与ehcache结合使用详解 #### 一、前言 在现代软件开发中,缓存技术被广泛应用于提高应用程序的性能。其中,Spring框架因其灵活性和强大的功能,在Java领域得到了广泛应用;而ehcache作为一款高性能、...
Hibernate通过实体类和映射文件(hibernate.cfg.xml及.hbm.xml文件)将数据库表与Java类关联起来,提供了一种透明的数据访问方式。 Spring框架是Java企业级应用的核心框架,它提供了一个全面的基础设施,包括DI...
下面将详细介绍如何在一个Spring Boot项目中集成并使用Ehcache缓存。 ##### 1. 创建项目 首先,使用IDEA创建一个Maven类型的Spring Boot项目。确保项目结构符合Spring Boot的标准。 ##### 2. 数据库初始化 为了...
Ehcache 是一款高效、流行的Java缓存库,它能够帮助...这个项目是学习和理解如何在Spring应用中集成Ehcache的一个好起点,你可以通过运行这两个工程,观察缓存的使用效果,逐步掌握如何在实际项目中利用缓存优化性能。
在本文中,我们将深入探讨如何将Spring 2.5与Ehcache 2.0进行集成,以便在我们的应用程序中实现高效、可扩展的缓存管理。Ehcache是一款广泛使用的开源Java缓存解决方案,而Spring框架则为它提供了一个方便的集成层,...
下面将详细介绍Ehcache与Spring的整合及其在页面和对象缓存中的应用。 一、Ehcache简介 Ehcache是基于内存的分布式缓存系统,支持本地缓存、分布式缓存和 terracotta 集群化缓存。它提供了一个简单易用的API,可以...
在Spring和Hibernate集成的开发环境中,使用EhCache作为缓存机制是常见的优化策略,它能够显著提升应用程序的性能和响应速度。EhCache是一款开源的、高性能的、内存级的分布式缓存解决方案,适用于Java应用程序。...
在这个项目中,我们将探讨如何将Spring Boot与Apache ActiveMQ、DataJPA和Ehcache进行集成,以构建一个功能丰富的应用程序。 首先,ActiveMQ是Apache出品的一款开源消息中间件,它遵循Java Message Service (JMS) ...
1.通过google ehcache-spring-annotatios.jar自动注解方式实现整合Spring+Ehcache。 2.Action里通过struts2-spring-plugin.jar插件自动根据名字注入。 3.Ajax无刷新异步调用Struts2,返回Json数据,以用户注册为例。...
通过这种方式,我们可以在Spring 3.2应用中轻松地集成和使用Ehcache,从而提高应用程序的性能。请记住,合理设计缓存策略对于优化应用程序至关重要,避免缓存过多无用数据,同时要考虑到缓存一致性问题。在实际开发...
- **与Spring、Hibernate的集成**:Ehcache可以非常容易地与Spring和Hibernate框架集成,简化缓存的配置和使用。 #### 二、准备工作 在开始使用Ehcache之前,需要先完成以下准备工作: 1. **下载JAR包**: - **...
Spring 和 Ehcache 是两个在Java开发中非常重要的框架。Spring 是一个全面的后端开发框架,提供了依赖注入、AOP(面向切面编程)、MVC(模型-视图-...这个示例Demo是学习和理解Spring与Ehcache集成的一个很好的起点。
当我们谈论“Spring + Ehcache + Redis”两级缓存时,我们实际上是在讨论如何在Java环境中利用Spring框架来集成Ehcache作为本地缓存,并利用Redis作为分布式二级缓存,构建一个高效且可扩展的缓存解决方案。...
开源测试项目:spring mvc+springsecurity3+ehcache+bootstrap+mysql 内附MySQL表,直接导入就可运行 效果图请移步:http://blog.csdn.net/yangxuan0261/article/details/10053947
##### 3.1 Spring集成 在Spring项目中集成Ehcache通常有以下步骤: 1. 添加依赖:在项目的pom.xml文件中添加Ehcache依赖。 2. 配置Spring:在Spring的配置文件中声明`CacheManager` bean。 3. 注解驱动:使用`@...
Spring Boot 2.x版本可以与Ehcache 3.x版本成功整合,下面详细介绍相关的知识点。 首先,整合Spring Boot与Ehcache 3.x涉及到依赖配置。在Maven项目中,需要添加以下依赖到`pom.xml`文件中: ```xml ...