`
刘小小尘
  • 浏览: 67551 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ehcache实例代码

 
阅读更多

闲着无事,写了一个ehcache的实例代码,代码如下,很简单,见笑


EhcacheUtil,可以实例模式也可以单例模式,我都写好了,可以试下

package com.util;

import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheException;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;

public class EhcacheUtil {

	private Cache cache;

	private void loadPrame() {
		/**
		 * 单例模式
		 */
		try {
			CacheManager.create("src/com/x/ehcache.xml");
			cache = CacheManager.getInstance().getCache("a");
			PrameUtil pUtil = new PrameUtil();
			for (int i = 0; i < 6; i++) {
				cache.put(new Element(String.valueOf(i), pUtil.getPrame(String.valueOf(i))));
			}
		} catch (CacheException e1) {
			e1.printStackTrace();
		}
		
		
//		/**
//		 * 实例
//		 */
//		try {
//			CacheManager cm = CacheManager.create("src/com/x/ehcache.xml");
//			// cache = new Cache("b", 5000, false, false, 5, 2);
//			// cm.addCache(cache);
//			// cache = cm.getCache("b");
//			cache = cm.getCache("a");
//			PrameUtil pUtil = new PrameUtil();
//			for (int i = 1; i < 6; i++) {
//				cache.put(new Element(String.valueOf(i), pUtil.getPrame(String
//						.valueOf(i))));
//			}
//		} catch (IllegalStateException e) {
//			e.printStackTrace();
//		} catch (CacheException e) {
//			e.printStackTrace();
//		}
	}
	
	public String getPrame(String key) {
		String value = "";
		try {
			if (cache == null) {
				loadPrame();
			}
			Element el = cache.get((String) key);
			if (el == null) {
				loadPrame();
				el = cache.get((String) key);
			}
			if (el == null) {
				System.out.println("没有");
			}
			value = el.getValue().toString();
		} catch (IllegalStateException e) {
			e.printStackTrace();
		} catch (CacheException e) {
			e.printStackTrace();
		}
		return value;
	}
}

PrameUtil,这个类是读取properties文件的,很简单,用到InputStream is = this.getClass().getClassLoader().getResourceAsStream("com/p/p.properties");

package com.util;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public class PrameUtil {

	public String getPrame(String key){
		String value = "";
		
		InputStream is = this.getClass().getClassLoader().getResourceAsStream("com/p/p.properties");
		System.out.println(this.getClass().getClassLoader());
		System.out.println(this.getClass().getClassLoader().getResourceAsStream(""));
		Properties p = new Properties();
		try {
			p.load(is);
			value = p.getProperty(key);
		} catch (IOException e) {
			e.printStackTrace();
		}
		
		return value;
	}
}

测试类TestMain,更简单,都不好意思贴出来

public class TestMain {
	public static void main(String[] args) {
		
		EhcacheUtil eUtil = new EhcacheUtil();
		String one = eUtil.getPrame("1");
		System.out.println(one);
	}
}

ehcache.xml文件内容如下,记得放好位置
<ehcache>
	<defaultCache maxElementsInMemory="1000" eternal="true"
		timeToIdleSeconds="3600" timeToLiveSeconds="3600" overflowToDisk="true" />
	<cache name="a" maxElementsInMemory="1000" eternal="true"
		timeToIdleSeconds="3600" timeToLiveSeconds="3600" overflowToDisk="false" />
</ehcache>

很简单的一个小例子,欢迎批评指正。

实例代码,可以在我的资源中下载,免分,呵呵,地址如下:http://download.csdn.net/detail/liuxiaochen123/4471585


分享到:
评论

相关推荐

    EhCache实例工程及其所需jar包

    学习这个实例工程,你可以了解到如何在项目中初始化Cache Manager,创建和配置Cache,以及如何在代码中使用EhCache进行缓存操作。同时,这也是了解EhCache核心特性和最佳实践的一个好机会。通过实践,你可以更深入地...

    springmvc+ehcache 实例

    本实例结合了Spring MVC和Ehcache,展示了如何在实际项目中集成并利用缓存技术。 在"springmvc+ehcache 实例"中,我们首先需要理解Spring MVC的基本工作流程。当用户发起请求时,Spring MVC通过DispatcherServlet...

    spring3 hibernate4 ehcache实例

    【Spring3 Hibernate4 Ehcache整合实例详解】 在Java企业级应用开发中,Spring、Hibernate和Ehcache是三个非常重要的框架和技术。Spring作为轻量级的IoC(Inversion of Control)和AOP(Aspect Oriented ...

    ehcache实例

    总结,Ehcache实例为我们提供了一个学习和实践缓存管理的平台。通过理解和运用Ehcache,我们可以优化应用性能,减少数据库交互,提升系统的响应速度。这个实例中的源码应该包含了Ehcache的配置、使用以及与Spring的...

    Ehcache集群实例

    集群是多个Ehcache实例协同工作以提供高可用性和容错性的机制。在本实例中,我们将探讨如何配置和使用Ehcache的集群功能,以及涉及的JGroups和RMI技术。 1. **Ehcache集群**:Ehcache集群使得多台服务器上的多个...

    ehcache-terracotta代码配置

    Terracotta是Ehcache的一个扩展,它将Ehcache实例转变为分布式缓存,允许在多台服务器之间共享缓存数据。Terracotta通过一个中心节点管理所有缓存实例,确保数据的一致性和同步。 3. 配置Ehcache 首先,你需要在...

    Spring+EhCache缓存实例

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

    java源码:ehcache(Java缓存框架 EhCache).rar

    使用EhCache主要通过`CacheManager`获取`Cache`实例,然后通过`put()`、`get()`、`remove()`等方法操作缓存。 9. **与其他框架集成**: EhCache能很好地与Spring、Hibernate等框架集成,提供便捷的缓存管理。 10...

    ehcache-java实例

    本文将深入探讨如何在Java项目中集成并使用EhCache,通过具体的实例来展示其基本操作和核心功能。 首先,我们需要在项目中引入EhCache的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml ...

    ehcache分布式缓存实例

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

    ehcache.jar及源码

    `ehcache-core-2.5.2-sources.jar`则是Ehcache的源代码文件,开发者可以查看源码来理解Ehcache的工作原理,进行调试,或根据需要自定义扩展。源码库包含所有类的定义、方法实现以及注释,对于深入学习和定制Ehcache...

    hibernate+ehcache代码示例

    这两个压缩包提供的示例代码可以帮助你更好地理解和应用Hibernate与Ehcache,以及理解并实践设计模式在实际项目中的应用,对于提升你的Java开发技能大有裨益。在学习过程中,你可以逐步了解每个示例的工作原理,然后...

    ehcache缓存依赖的jar

    然后在代码中初始化Ehcache实例,并通过API进行缓存操作,如存取数据、移除数据或查询缓存状态。 Ehcache还提供了缓存的高级特性,例如缓存预热(warm-up)、缓存事件监听、缓存统计等。缓存预热是在系统启动时预先...

    Ehcache 简单的监控

    至于“工具”,Ehcache生态系统中有许多辅助工具,如`Ehcache Cache Manager`,它可以帮助我们创建、修改和删除缓存实例;还有`Ehcache CLI`,一个命令行工具,用于执行诸如查看缓存状态、清理缓存等操作。 在`...

    Ehcache通过Jgroups做集群

    在Ehcache中,Jgroups被用来实现节点间的通信和同步,确保在集群中的多个Ehcache实例能够保持数据一致性。 在Ehcache通过Jgroups进行集群配置时,首先需要理解Jgroups的配置文件——`jgroups.xml`。这个文件定义了...

    ehCache用法

    3. **缓存区域(Cache)**: 一个ehCache实例可以包含多个缓存区域,每个区域有自己的配置,用于存储不同类型的数据。 4. **缓存策略**: 包括缓存加载、更新、过期和替换策略,例如LRU(Least Recently Used)最近最少...

    hibernate缓存ehcache用法

    在代码中,当我们从数据库加载或保存对象时,Hibernate会自动处理缓存。查询时,如果数据在缓存中,就直接返回,避免了数据库查询;更新时,Hibernate会同步更新缓存中的数据。 总结来说,这篇博客可能涵盖了如何在...

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

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

    ehcache配置使用详解

    - **动态调整**:发布后可根据实际运行情况调整缓存配置,无需重新编译代码。 **2. 缓存配置方式:** ehcache提供了多种配置方式,包括声明式配置、XML配置、程序式配置和构造方法参数配置。其中,XML配置因其清晰...

Global site tag (gtag.js) - Google Analytics