java缓存框架---ehcache简单实例
2017-01-16 19:23
741 查看
java缓存有很多,ehcache是比较流行的java缓存框架,它以简单,快速等特点受到广大开发人员的喜爱,下面是我参考了一些资料后整理的关于ehcache的简单实例,包括通过配置文件和java动态添加缓存,以下是详细代码:
一、通过使用API来动态的添加缓存(将缓存的配置信息通过java代码来实现而非写在配置文件)
package ehcache;
import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;
/**
* 使用API来动态的添加缓存(将缓存的配置信息通过java代码来实现而非写在配置文件)
* @author Administrator
*
*/
public class EhCache1 {
public static void main(String[] args) {
//创建一个缓存管理器
CacheManager singletonManager = CacheManager.create();
//建立一个缓存实例
Cache memoryOnlyCache = new Cache("testCache", 5000, false, false, 5, 2);
//在内存管理器中添加缓存实例
singletonManager.addCache(memoryOnlyCache);
//在缓存管理器中获取一个缓存实例
Cache cache = singletonManager.getCache("testCache");
//使用获取到的缓存实例
Element element = new Element("key1", "value1");
cache.put(element);//添加缓存值
cache.put(new Element("key2", "value2"));//添加缓存值
int elementsInMemory = cache.getSize();//获取缓存个数
System.out.println("缓存个数======="+elementsInMemory);
// Object obj = element.getObjectValue();//获取对象值
// cache.remove("key1");//删除缓存
Cache cache2 = singletonManager.getCache("testCache");//获取缓存实例
Element element2 = cache2.get("key1");
System.out.println("value====="+element2.getValue());//获取缓存值
// singletonManager.shutdown();
}
}
二、通过配置文件ehcache.xml创建缓存实例
1.ehcache.xml
<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd">
<!-- 磁盘缓存位置 -->
<diskStore path="java.io.tmpdir/ehcache"/>
<!-- 默认缓存 -->
<defaultCache
maxEntriesLocalHeap="10000"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
maxEntriesLocalDisk="10000000"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU"/>
<!-- helloworld1缓存 -->
<cache name="helloworld1"
maxElementsInMemory="1000"
eternal="false"
timeToIdleSeconds="5"
timeToLiveSeconds="5"
overflowToDisk="false"
memoryStoreEvictionPolicy="LRU"/>
<!-- helloworld2缓存 -->
<cache name="helloworld2"
maxElementsInMemory="1000"
eternal="false"
timeToIdleSeconds="5"
timeToLiveSeconds="5"
overflowToDisk="false"
memoryStoreEvictionPolicy="LRU"/>
</ehcache>2.java代码
package ehcache;
import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;
/**
* 通过配置文件(ehcache.xml)来使用缓存
* @author Administrator
*/
public class EhCache2 {
public static void main(String[] args) {
//创建缓存管理器
final CacheManager cacheManager = new CacheManager();
// 创建一个缓存实例(在配置文件中获取一个缓存实例)
final Cache cache = cacheManager.getCache("helloworld1");
final String key = "greeting";
//他建一个数据容器
final Element putGreeting = new Element(key, "Hello, World!");
//将数据放入到缓存实例中
cache.put(putGreeting);
//取值
final Cache cache2 = cacheManager.getCache("helloworld1");
final Element getGreeting = cache2.get(key);
// Print the value
System.out.println("value======//========"+getGreeting.getObjectValue());
}
}
一、通过使用API来动态的添加缓存(将缓存的配置信息通过java代码来实现而非写在配置文件)
package ehcache;
import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;
/**
* 使用API来动态的添加缓存(将缓存的配置信息通过java代码来实现而非写在配置文件)
* @author Administrator
*
*/
public class EhCache1 {
public static void main(String[] args) {
//创建一个缓存管理器
CacheManager singletonManager = CacheManager.create();
//建立一个缓存实例
Cache memoryOnlyCache = new Cache("testCache", 5000, false, false, 5, 2);
//在内存管理器中添加缓存实例
singletonManager.addCache(memoryOnlyCache);
//在缓存管理器中获取一个缓存实例
Cache cache = singletonManager.getCache("testCache");
//使用获取到的缓存实例
Element element = new Element("key1", "value1");
cache.put(element);//添加缓存值
cache.put(new Element("key2", "value2"));//添加缓存值
int elementsInMemory = cache.getSize();//获取缓存个数
System.out.println("缓存个数======="+elementsInMemory);
// Object obj = element.getObjectValue();//获取对象值
// cache.remove("key1");//删除缓存
Cache cache2 = singletonManager.getCache("testCache");//获取缓存实例
Element element2 = cache2.get("key1");
System.out.println("value====="+element2.getValue());//获取缓存值
// singletonManager.shutdown();
}
}
二、通过配置文件ehcache.xml创建缓存实例
1.ehcache.xml
<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd">
<!-- 磁盘缓存位置 -->
<diskStore path="java.io.tmpdir/ehcache"/>
<!-- 默认缓存 -->
<defaultCache
maxEntriesLocalHeap="10000"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
maxEntriesLocalDisk="10000000"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU"/>
<!-- helloworld1缓存 -->
<cache name="helloworld1"
maxElementsInMemory="1000"
eternal="false"
timeToIdleSeconds="5"
timeToLiveSeconds="5"
overflowToDisk="false"
memoryStoreEvictionPolicy="LRU"/>
<!-- helloworld2缓存 -->
<cache name="helloworld2"
maxElementsInMemory="1000"
eternal="false"
timeToIdleSeconds="5"
timeToLiveSeconds="5"
overflowToDisk="false"
memoryStoreEvictionPolicy="LRU"/>
</ehcache>2.java代码
package ehcache;
import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;
/**
* 通过配置文件(ehcache.xml)来使用缓存
* @author Administrator
*/
public class EhCache2 {
public static void main(String[] args) {
//创建缓存管理器
final CacheManager cacheManager = new CacheManager();
// 创建一个缓存实例(在配置文件中获取一个缓存实例)
final Cache cache = cacheManager.getCache("helloworld1");
final String key = "greeting";
//他建一个数据容器
final Element putGreeting = new Element(key, "Hello, World!");
//将数据放入到缓存实例中
cache.put(putGreeting);
//取值
final Cache cache2 = cacheManager.getCache("helloworld1");
final Element getGreeting = cache2.get(key);
// Print the value
System.out.println("value======//========"+getGreeting.getObjectValue());
}
}
相关文章推荐
- java缓存框架ehcache简单实例
- Java Ehcache缓存框架入门级使用实例
- java中读写锁的实现及使用读写锁简单实现缓存系统的实例
- java架构搭建(八)--EhCache缓存在web下的使用实例
- java4Android(20):类集框架->Set/Map/List->ArrayList简单实例
- java缓存框架---spring+ehcache整合
- 【转】Java缓存框架 EhCache
- java中关于Ehcache缓存框架的源码剖析
- Java缓存Ehcache-核心类和方法介绍及代码实例
- EhCache java缓存框架介绍
- Java的进程内缓存框架:EhCache
- Map实现java缓存机制的简单实例
- Java缓存框架使用EhCache结合Spring AOP
- Java的进程内缓存框架:EhCache (转)
- Java缓存框架 EhCache
- Java中读写锁的实现及使用读写锁简单实现缓存系统的实例
- ehcache-----java缓存框架
- Java的进程内缓存框架:EhCache
- java开源时间框架joda-time简单使用的junit实例
- 【转】Java缓存框架 EhCache