网上找了一下ehcache的例子,感觉都不好,就自己写了一个简单的demo
在eclipse下建个java工程。
新建User.java类
package net.ehcache.demo;
import java.io.Serializable;
//放在cache里面的对象必须继承Serializable对象,这也是hibernate实体对象继承Serializable的原因。
public class User implements Serializable{
private static final long serialVersionUID = -6227376640818226890L;
private String name;
private String code;
public User(String name, String code) {
super();
this.name = name;
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
}
新建HelloWorld.java类
package net.ehcache.demo;
import java.io.Serializable;
import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;
public class HelloWorld {
public static void main(String[] args) {
//创建对象有很多种方式,比较常用的是根据配置文件创建,CacheManager manager = new CacheManager("src/config/other.xml");
CacheManager singletonManager = CacheManager.create();
Cache memoryOnlyCache = new Cache("testCache", 50000, false, false, 8, 2);
singletonManager.addCache(memoryOnlyCache);
//得到cache对象
Cache tesCache = singletonManager.getCache("testCache");
tesCache.put(new Element("key1","value1"));
tesCache.put(new Element("key2","value2"));
Element eleKey1 = tesCache.get("key1");
Serializable value = eleKey1.getValue();
System.out.println("key1 Object value " + value);
Object ovalue = eleKey1.getObjectValue();
System.out.println("key1 Object value " + ovalue);
//Element对象可以是任何继承Serializable接口的对象,也就是说cache可以存储任何Serializable对象。
User testUser1 = new User("张三","zhangsan");
tesCache.put(new Element("zhangsan",testUser1));
Element eleUser1 = tesCache.get("zhangsan");
value = eleUser1.getValue();
System.out.println("eleUser1 Object value " + value);
ovalue = eleUser1.getObjectValue();
System.out.println("eleUser1 Object value " + ovalue);
String userName = ((User)ovalue).getName();
System.out.println("eleUser1 getName is " + userName);
singletonManager.removeCache("testCache");
CacheManager.getInstance().shutdown();
}
}
到此demo完成。