java开发之缓存框架--ehcache
来源:互联网 发布:线切割锥度编程软件 编辑:程序博客网 时间:2024/05/17 06:46
一、ehcache.xml配置
将该文件放在src目录下即可。
<ehcache> <!-- 磁盘存储:将缓存中暂时不使用的对象,转移到硬盘,类似于Windows系统的虚拟内存 path:指定在硬盘上存储对象的路径 --> <diskStore path="java.io.tmpdir" /> <!-- defaultCache:默认的缓存配置信息,如果不加特殊说明,则所有对象按照此配置项处理 maxElementsInMemory:设置了缓存的上限,最多存储多少个记录对象 eternal:代表对象是否永不过期 timeToIdleSeconds:最大的发呆时间 timeToLiveSeconds:最大的存活时间 overflowToDisk:是否允许对象被写入到磁盘 --> <defaultCache maxElementsInMemory="10000" eternal="false" timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true" /> <!-- cache:为指定名称的对象进行缓存的特殊配置 name:指定对象的完整名 --> <cache name="ehcache01" maxElementsInMemory="10000" eternal="false" timeToIdleSeconds="300" timeToLiveSeconds="600" overflowToDisk="true" /> <cache name="ehcache02" maxElementsInMemory="10000" eternal="false" timeToIdleSeconds="300" timeToLiveSeconds="600" overflowToDisk="true" /></ehcache>
二、实例
public static void main(String[] args) throws InterruptedException { CacheManager manager = CacheManager.create(); // 取出所有的cacheName String names[] = manager.getCacheNames(); System.out.println("----all cache names----"); for (int i = 0; i < names.length; i++) { System.out.println(names[i]); } System.out.println("----------------------"); // 得到一个cache对象 Cache cache1 = manager.getCache(names[0]); // 向cache1对象里添加缓存 cache1.put(new Element("key1", "values1")); Element element = cache1.get("key1"); // 读取缓存 System.out.println("key1 \t= " + element.getObjectValue()); // 手动创建一个cache(ehcache里必须有defaultCache存在,"test"可以换成任何值) Cache cache2 = new Cache("test", 1, true, false, 2, 3); manager.addCache(cache2); cache2.put(new Element("jimmy", "菩提树下的杨过")); // 故意停1.5秒,以验证是否过期 Thread.sleep(1500); Element eleJimmy = cache2.get("jimmy"); //1.5s < 2s 不会过期 if (eleJimmy != null) { System.out.println("jimmy \t= " + eleJimmy.getObjectValue()); } //再等上0.5s, 总时长:1.5 + 0.5 >= min(2,3),过期 Thread.sleep(500); eleJimmy = cache2.get("jimmy"); if (eleJimmy != null) { System.out.println("jimmy \t= " + eleJimmy.getObjectValue()); } // 取出一个不存在的缓存项 System.out.println("fake \t= " + cache2.get("fake")); manager.shutdown(); }三、封装的工具
public class EhcacheUtil { private static final String path = "/ehcache.xml"; private URL url; private CacheManager manager; private static EhcacheUtil ehCache; private EhcacheUtil(String path) { url = getClass().getResource(path); manager = CacheManager.create(url); } public static EhcacheUtil getInstance() { if (ehCache== null) { ehCache= new EhcacheUtil(path); } return ehCache; } public void put(String cacheName, String key, Object value) { Cache cache = manager.getCache(cacheName); Element element = new Element(key, value); cache.put(element); } public Object get(String cacheName, String key) { Cache cache = manager.getCache(cacheName); Element element = cache.get(key); return element == null ? null : element.getObjectValue(); } public Cache get(String cacheName) { return manager.getCache(cacheName); } public void remove(String cacheName, String key) { Cache cache = manager.getCache(cacheName); cache.remove(key); } public static void main(String[] args) {EhCacheUtil ehCache = getInstance();ehCache.put("ehcacheGO", "userEch", "123");System.out.println(ehCache.get("ehcacheGO","userEch"));} }附带项目源码:http://download.csdn.net/detail/wqc19920906/9807593
0 0
- java开发之缓存框架--ehcache
- ehcache-----java缓存框架
- Java缓存框架EhCache学习
- EhCache java缓存框架介绍
- 【转】Java缓存框架 EhCache
- Ehcache纯Java缓存框架
- Java 缓存之 Ehcache 详解
- 【JAVA】缓存解读之EHcache
- Java的进程内缓存框架:EhCache
- Java 开源分布式缓存框架Ehcache
- java缓存框架---ehcache简单实例
- java缓存框架---spring+ehcache整合
- 【EhCache】Java缓存框架使用EhCache结合Spring AOP
- 【EhCache】Java缓存框架使用EhCache结合Spring AOP
- 【EhCache】Java缓存框架使用EhCache结合Spring AOP
- EHcache缓存框架详解
- Ehcache缓存框架
- Ehcache缓存框架详解
- 自定义Jackson
- [模板]次小生成树
- Unity Shader-边缘光(RimLight)效果
- Impala之02-原理、架构分析(1)
- 浅谈竞价推广
- java开发之缓存框架--ehcache
- div或img图片高度随宽度自适应
- Hexo d- Permission denied(publickey)
- 内存寻址方式
- 词法分析器
- 代码整洁之道精华——第七章 错误处理
- List集合的具体对象的特点
- V4L2常用命令标志符和结构体
- Laravel 上传文件异常处理