现在的位置: 首页 > 综合 > 正文

ehcache demo

2013年01月14日 ⁄ 综合 ⁄ 共 1989字 ⁄ 字号 评论关闭

网上找了一下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完成。

抱歉!评论已关闭.