闲着无事,写了一个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
分享到:
相关推荐
学习这个实例工程,你可以了解到如何在项目中初始化Cache Manager,创建和配置Cache,以及如何在代码中使用EhCache进行缓存操作。同时,这也是了解EhCache核心特性和最佳实践的一个好机会。通过实践,你可以更深入地...
本实例结合了Spring MVC和Ehcache,展示了如何在实际项目中集成并利用缓存技术。 在"springmvc+ehcache 实例"中,我们首先需要理解Spring MVC的基本工作流程。当用户发起请求时,Spring MVC通过DispatcherServlet...
【Spring3 Hibernate4 Ehcache整合实例详解】 在Java企业级应用开发中,Spring、Hibernate和Ehcache是三个非常重要的框架和技术。Spring作为轻量级的IoC(Inversion of Control)和AOP(Aspect Oriented ...
总结,Ehcache实例为我们提供了一个学习和实践缓存管理的平台。通过理解和运用Ehcache,我们可以优化应用性能,减少数据库交互,提升系统的响应速度。这个实例中的源码应该包含了Ehcache的配置、使用以及与Spring的...
集群是多个Ehcache实例协同工作以提供高可用性和容错性的机制。在本实例中,我们将探讨如何配置和使用Ehcache的集群功能,以及涉及的JGroups和RMI技术。 1. **Ehcache集群**:Ehcache集群使得多台服务器上的多个...
Terracotta是Ehcache的一个扩展,它将Ehcache实例转变为分布式缓存,允许在多台服务器之间共享缓存数据。Terracotta通过一个中心节点管理所有缓存实例,确保数据的一致性和同步。 3. 配置Ehcache 首先,你需要在...
**Spring+EhCache缓存实例详解** 在现代的Java企业级应用中,缓存技术扮演着至关重要的角色,它能够显著提升系统性能,减少数据库负载。Spring框架与EhCache的结合,为开发者提供了一种高效、易用的缓存解决方案。...
使用EhCache主要通过`CacheManager`获取`Cache`实例,然后通过`put()`、`get()`、`remove()`等方法操作缓存。 9. **与其他框架集成**: EhCache能很好地与Spring、Hibernate等框架集成,提供便捷的缓存管理。 10...
本文将深入探讨如何在Java项目中集成并使用EhCache,通过具体的实例来展示其基本操作和核心功能。 首先,我们需要在项目中引入EhCache的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml ...
本实例将探讨如何利用Ehcache实现基于RMI(Remote Method Invocation)的分布式缓存。 一、Ehcache简介 Ehcache是Terracotta公司开发的一个高性能、可伸缩的本地和分布式缓存解决方案。它支持多种缓存策略,如LRU...
`ehcache-core-2.5.2-sources.jar`则是Ehcache的源代码文件,开发者可以查看源码来理解Ehcache的工作原理,进行调试,或根据需要自定义扩展。源码库包含所有类的定义、方法实现以及注释,对于深入学习和定制Ehcache...
这两个压缩包提供的示例代码可以帮助你更好地理解和应用Hibernate与Ehcache,以及理解并实践设计模式在实际项目中的应用,对于提升你的Java开发技能大有裨益。在学习过程中,你可以逐步了解每个示例的工作原理,然后...
然后在代码中初始化Ehcache实例,并通过API进行缓存操作,如存取数据、移除数据或查询缓存状态。 Ehcache还提供了缓存的高级特性,例如缓存预热(warm-up)、缓存事件监听、缓存统计等。缓存预热是在系统启动时预先...
至于“工具”,Ehcache生态系统中有许多辅助工具,如`Ehcache Cache Manager`,它可以帮助我们创建、修改和删除缓存实例;还有`Ehcache CLI`,一个命令行工具,用于执行诸如查看缓存状态、清理缓存等操作。 在`...
在Ehcache中,Jgroups被用来实现节点间的通信和同步,确保在集群中的多个Ehcache实例能够保持数据一致性。 在Ehcache通过Jgroups进行集群配置时,首先需要理解Jgroups的配置文件——`jgroups.xml`。这个文件定义了...
3. **缓存区域(Cache)**: 一个ehCache实例可以包含多个缓存区域,每个区域有自己的配置,用于存储不同类型的数据。 4. **缓存策略**: 包括缓存加载、更新、过期和替换策略,例如LRU(Least Recently Used)最近最少...
在代码中,当我们从数据库加载或保存对象时,Hibernate会自动处理缓存。查询时,如果数据在缓存中,就直接返回,避免了数据库查询;更新时,Hibernate会同步更新缓存中的数据。 总结来说,这篇博客可能涵盖了如何在...
本文将深入探讨如何结合Spring AOP与EhCache实现一个简单的缓存实例,以便优化Java应用的运行效率。 首先,让我们了解Spring AOP。Spring AOP是Spring框架的一部分,它允许我们在不修改业务代码的情况下,通过定义...
- **动态调整**:发布后可根据实际运行情况调整缓存配置,无需重新编译代码。 **2. 缓存配置方式:** ehcache提供了多种配置方式,包括声明式配置、XML配置、程序式配置和构造方法参数配置。其中,XML配置因其清晰...