1.先在src创建ehcache.xml配置文件
<ehcache>
<diskStore path="java.io.tmpdir"/>
<defaultCache
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="600"
timeToLiveSeconds="600"
overflowToDisk="true"
/>
<cache name="randomObjCache"
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="600"
timeToLiveSeconds="600"
overflowToDisk="true"
/>
</ehcache>
2.在context中引入cacheManage相关配置,以便在bean中引用cache,这里我在applicationContext-dao.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="randomDao" class="com.zjr.dao.impl.RandomDaoImpl">
<property name="sqlMapClient" ref="sqlMapClient"/>
</bean>
<!-- ################### Cache ############################ -->
<bean id="defaultCacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
<property name="configLocation">
<value>classpath:/ehcache.xml</value>
</property>
<!--
<property name="configLocation"
value="/WEB-INF/conf/ehcache.xml" />
-->
</bean>
<bean id="randomCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager">
<ref local="defaultCacheManager"/>
</property>
<property name="cacheName">
<value>randomObjCache</value>
</property>
</bean>
<bean id="cacheRandomDao" class="com.zjr.dao.impl.CacheRandomDaoImpl">
<property name="target" ref="randomDao"></property>
<property name="cache" ref="randomCache"></property>
</bean>
<!-- ################### Cache ############################ -->
</beans>
3.CacheRandomDaoImpl 中使用
private RandomDao target;
private Cache cache;
private final static String cacheKey = "randomObjCache";
public void setCache(Cache cache) {
this.cache = cache;
}
public List<RandomObj> getCacheRandomObj(Integer flag) {
// TODO Auto-generated method stub
Element element = cache.get(cacheKey);
if (element == null) {
// 当cache中没有数据的时候,从target中取数据,target为实体DAO
List<RandomObj> result = target.getCacheRandomObj(flag);
System.out.println("set into cache");
// cache method result
element = new Element(cacheKey, (Serializable) result);
cache.put(element);
//测试CACHE
// for(int i=0;i<10000;i++){
// element = new Element(cacheKey+i, new RandomObj());
// cache.put(element);
// }
}
System.out.println("out cache");
return (List<RandomObj>)element.getValue();
}
ehcache.xml中的相关属性可参照
http://catastiger.iteye.com/blog/656653
分享到:
相关推荐
**Spring+EhCache缓存实例详解** 在现代的Java企业级应用中,缓存技术扮演着至关重要的角色,它能够显著提升系统性能,减少数据库负载。Spring框架与EhCache的结合,为开发者提供了一种高效、易用的缓存解决方案。...
Ehcache是Hibernate常用的二级缓存解决方案,它可以提高应用程序的性能和响应速度。这篇博客文章“hibernate缓存ehcache用法”可能详细介绍了如何在Hibernate中配置和使用Ehcache。 首先,我们需要理解什么是缓存。...
本文将详细讲解"cache/ehcache缓存使用"的相关知识点,包括缓存的基本概念、Ehcache的介绍、以及如何在Java应用中使用Ehcache进行缓存操作。 首先,我们要理解什么是缓存。缓存是一种存储技术,它临时存储常用或...
【EHCache缓存技术介绍】 缓存技术是提高软件系统性能的重要手段,特别是在处理大量数据时,通过将常用数据存储在内存中,可以显著减少对硬盘或数据库的访问,从而加快数据获取速度。EHCache是一种广泛使用的开源...
本实例将探讨如何利用Ehcache实现基于RMI(Remote Method Invocation)的分布式缓存。 一、Ehcache简介 Ehcache是Terracotta公司开发的一个高性能、可伸缩的本地和分布式缓存解决方案。它支持多种缓存策略,如LRU...
实例环境中,你可以创建一个简单的Java测试类,模拟缓存的添加、获取和清除操作。 4. **常见问题**:在实际使用中,可能会遇到缓存一致性、网络延迟、节点故障等问题。解决这些问题通常需要合理配置Ehcache的缓存...
在本篇《Mybatis入门实例(二)——添加ehcache缓存支持》中,我们将深入探讨如何在Mybatis框架中集成Ehcache作为二级缓存,以提高数据访问的效率和性能。Ehcache是一个开源的Java分布式缓存,广泛用于缓存应用程序中...
"ehcache缓存依赖的jar"这个标题暗示我们将讨论Ehcache的核心库及其依赖关系。 Ehcache的核心JAR文件是`ehcache.jar`,它包含了Ehcache的所有核心组件和接口。这个文件提供了缓存管理、缓存配置、缓存策略(如LRU、...
本文将深入探讨Ehcache在实际应用中的实例。 一、Ehcache简介 Ehcache是由Terracotta公司开发的高性能、易用的分布式缓存系统,它支持内存和磁盘存储,并且可以设置过期策略,以保证缓存数据的有效性。Ehcache不仅...
Ehcache缓存简介 1、基础简介 EhCache是一个纯Java的进程内缓存框架,具有快速、上手简单等特点,是Hibernate中默认的缓存提供方。 2、Hibernate缓存 Hibernate三级缓存机制简介: 一级缓存:基于Session级别分配...
- 获取和操作缓存:通过缓存管理器获取缓存实例,然后可以添加、检索、更新或删除缓存中的数据。 4. 示例配置: ```xml <ehcache> maxEntriesLocalHeap="10000" eternal="false" timeToIdleSeconds="120...
例如,使用`CacheManager`创建缓存实例,使用`Cache`对象进行缓存操作。 3. **缓存操作**: 添加元素到缓存使用`put()`方法,获取元素使用`get()`方法,移除元素使用`remove()`方法,清空整个缓存使用`clear()`方法...
本文将深入探讨如何结合Spring AOP与EhCache实现一个简单的缓存实例,以便优化Java应用的运行效率。 首先,让我们了解Spring AOP。Spring AOP是Spring框架的一部分,它允许我们在不修改业务代码的情况下,通过定义...
- **初始化缓存**:在应用启动时,通过Ehcache API创建并初始化缓存实例。 4. **Ehcache配置** - **创建缓存区域**:定义缓存的名称和大小,例如`<cache name="myCache" maxEntriesLocalHeap="1000">`。 - **...
在Java代码中,我们可以通过`CacheManager`获取到缓存实例,然后进行添加、删除、更新和查找操作。例如: ```java CacheManager cacheManager = CacheManager.create(); Cache cache = cacheManager.getCache(...
为了解决这个问题,我们需要配置EhCache缓存集群,以确保数据更新能在各个进程中同步。以下是如何使用EhCache实现缓存集群的详细步骤: 首先,确保缓存对象是可序列化的。在上述例子中,`User`实体需要实现`...
在进行Ehcache缓存开发时,首先需要搭建环境,包括导入ehcache的jar包、依赖的slf4j、ehcache配置文件以及log4j的配置文件。配置文件一般默认放置在classpath根目录下。 开发第一个缓存程序的步骤包括创建...
2. 在Spring配置文件中配置Ehcache缓存管理器。 3. 在需要缓存的方法或类上添加`@Cacheable`、`@CacheEvict`等注解。 4. 可选:配置缓存切面,如`@EnableCaching`。 **5. 性能优化** - 选择合适的缓存策略(LRU、...
在本文中,我们将深入探讨Ehcache缓存的基本概念、配置以及如何在实际项目中通过示例进行使用。 1. **Ehcache简介** Ehcache是由Terracotta公司开发的开源缓存系统,支持本地内存缓存、磁盘存储和分布式缓存。它的...