`
catastiger
  • 浏览: 138476 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ehcache 缓存实例

阅读更多

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缓存实例

    **Spring+EhCache缓存实例详解** 在现代的Java企业级应用中,缓存技术扮演着至关重要的角色,它能够显著提升系统性能,减少数据库负载。Spring框架与EhCache的结合,为开发者提供了一种高效、易用的缓存解决方案。...

    hibernate缓存ehcache用法

    Ehcache是Hibernate常用的二级缓存解决方案,它可以提高应用程序的性能和响应速度。这篇博客文章“hibernate缓存ehcache用法”可能详细介绍了如何在Hibernate中配置和使用Ehcache。 首先,我们需要理解什么是缓存。...

    cache/ehcache缓存使用

    本文将详细讲解"cache/ehcache缓存使用"的相关知识点,包括缓存的基本概念、Ehcache的介绍、以及如何在Java应用中使用Ehcache进行缓存操作。 首先,我们要理解什么是缓存。缓存是一种存储技术,它临时存储常用或...

    EHCache缓存技术介绍

    【EHCache缓存技术介绍】 缓存技术是提高软件系统性能的重要手段,特别是在处理大量数据时,通过将常用数据存储在内存中,可以显著减少对硬盘或数据库的访问,从而加快数据获取速度。EHCache是一种广泛使用的开源...

    ehcache分布式缓存实例

    本实例将探讨如何利用Ehcache实现基于RMI(Remote Method Invocation)的分布式缓存。 一、Ehcache简介 Ehcache是Terracotta公司开发的一个高性能、可伸缩的本地和分布式缓存解决方案。它支持多种缓存策略,如LRU...

    Ehcache分布式缓存与其在SpringBoot应用

    实例环境中,你可以创建一个简单的Java测试类,模拟缓存的添加、获取和清除操作。 4. **常见问题**:在实际使用中,可能会遇到缓存一致性、网络延迟、节点故障等问题。解决这些问题通常需要合理配置Ehcache的缓存...

    Mybatis入门实例(二)——添加ehcache缓存支持

    在本篇《Mybatis入门实例(二)——添加ehcache缓存支持》中,我们将深入探讨如何在Mybatis框架中集成Ehcache作为二级缓存,以提高数据访问的效率和性能。Ehcache是一个开源的Java分布式缓存,广泛用于缓存应用程序中...

    ehcache缓存依赖的jar

    "ehcache缓存依赖的jar"这个标题暗示我们将讨论Ehcache的核心库及其依赖关系。 Ehcache的核心JAR文件是`ehcache.jar`,它包含了Ehcache的所有核心组件和接口。这个文件提供了缓存管理、缓存配置、缓存策略(如LRU、...

    java 缓存插件ehcache 应用实例

    本文将深入探讨Ehcache在实际应用中的实例。 一、Ehcache简介 Ehcache是由Terracotta公司开发的高性能、易用的分布式缓存系统,它支持内存和磁盘存储,并且可以设置过期策略,以保证缓存数据的有效性。Ehcache不仅...

    springboot整合Ehcache组件,轻量级缓存管理

    Ehcache缓存简介 1、基础简介 EhCache是一个纯Java的进程内缓存框架,具有快速、上手简单等特点,是Hibernate中默认的缓存提供方。 2、Hibernate缓存 Hibernate三级缓存机制简介: 一级缓存:基于Session级别分配...

    ehcache缓存的jar包和配置文件

    - 获取和操作缓存:通过缓存管理器获取缓存实例,然后可以添加、检索、更新或删除缓存中的数据。 4. 示例配置: ```xml &lt;ehcache&gt; maxEntriesLocalHeap="10000" eternal="false" timeToIdleSeconds="120...

    ehcache 缓存

    例如,使用`CacheManager`创建缓存实例,使用`Cache`对象进行缓存操作。 3. **缓存操作**: 添加元素到缓存使用`put()`方法,获取元素使用`get()`方法,移除元素使用`remove()`方法,清空整个缓存使用`clear()`方法...

    SpringAOP结合ehCache实现简单缓存实例

    本文将深入探讨如何结合Spring AOP与EhCache实现一个简单的缓存实例,以便优化Java应用的运行效率。 首先,让我们了解Spring AOP。Spring AOP是Spring框架的一部分,它允许我们在不修改业务代码的情况下,通过定义...

    Java流行ehcache缓存

    - **初始化缓存**:在应用启动时,通过Ehcache API创建并初始化缓存实例。 4. **Ehcache配置** - **创建缓存区域**:定义缓存的名称和大小,例如`&lt;cache name="myCache" maxEntriesLocalHeap="1000"&gt;`。 - **...

    ehcache缓存入门项目

    在Java代码中,我们可以通过`CacheManager`获取到缓存实例,然后进行添加、删除、更新和查找操作。例如: ```java CacheManager cacheManager = CacheManager.create(); Cache cache = cacheManager.getCache(...

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

    为了解决这个问题,我们需要配置EhCache缓存集群,以确保数据更新能在各个进程中同步。以下是如何使用EhCache实现缓存集群的详细步骤: 首先,确保缓存对象是可序列化的。在上述例子中,`User`实体需要实现`...

    Ehcache缓存技术

    在进行Ehcache缓存开发时,首先需要搭建环境,包括导入ehcache的jar包、依赖的slf4j、ehcache配置文件以及log4j的配置文件。配置文件一般默认放置在classpath根目录下。 开发第一个缓存程序的步骤包括创建...

    ehcache二级缓存配置文件

    2. 在Spring配置文件中配置Ehcache缓存管理器。 3. 在需要缓存的方法或类上添加`@Cacheable`、`@CacheEvict`等注解。 4. 可选:配置缓存切面,如`@EnableCaching`。 **5. 性能优化** - 选择合适的缓存策略(LRU、...

    ehcache缓存demo

    在本文中,我们将深入探讨Ehcache缓存的基本概念、配置以及如何在实际项目中通过示例进行使用。 1. **Ehcache简介** Ehcache是由Terracotta公司开发的开源缓存系统,支持本地内存缓存、磁盘存储和分布式缓存。它的...

Global site tag (gtag.js) - Google Analytics