四、单独使用EHCache
1.创建CacheManager (net.sf.ehcache.CacheManager)
(1)使用默认配置文件创建
CacheManager manager = CacheManager.create();
(2)使用指定配置文件创建
CacheManager manager = CacheManager.create("src/config/ehcache.xml");
(3)从classpath找寻配置文件并创建
URL url = getClass().getResource("/anothername.xml");
CacheManager manager = CacheManager.create(url);
(4)通过输入流创建
InputStream fis = new FileInputStream(new File("src/config/ehcache.xml").getAbsolutePath());
try {
manager = CacheManager.create(fis);
} finally {
fis.close();
}
2.创建Caches (net.sf.ehcache.Cache)
(1)取得配置文件中预先 定义的sampleCache1设置,生成一个Cache
Cache cache = manager.getCache("sampleCache1");
(2)设置一个名为test 的新cache,test属性为默认
CacheManager manager = CacheManager.create();
manager.addCache("test");
(3)设置一个名为test 的新cache,并定义其属性
CacheManager manager = CacheManager.create();
Cache cache = new Cache("test", 1, true, false, 5, 2);
manager.addCache(cache);
(4)删除cache
CacheManager singletonManager = CacheManager.create();
singletonManager.removeCache("sampleCache1");
3.使用Caches
(1)往cache中加入元素
Element element = new Element("key1", "value1");
cache.put(new Element(element);
(2)从cache中取得元素
Element element = cache.get("key1");
(3)从cache中删除元素
Cache cache = manager.getCache("sampleCache1");
Element element = new Element("key1", "value1");
cache.remove("key1");
4.卸载CacheManager ,关闭Cache
manager.shutdown();
下附代码。
五、在 Hibernate 中运用EHCache
1、hibernate.cfg.xml中需设置如下:
3系列版本加入
org.hibernate.cache.EhCacheProvider
EhCacheProvider类位于hibernate3.jar
2.1版本加入
net.sf.ehcache.hibernate.Provider
2.1以下版本加入
net.sf.hibernate.cache.EhCache
2、在Hibernate3.x中的etc目录下有ehcache.xml的示范文件,将其复制应用程序的src目录下(编译时会把ehcache.xml复制到WEB-INF/classess目录下),对其中的相关值进行更改以和自己的程序相适合。
3、持久化类的映射文件进行配置
在标记中设置了,但Hibernate仅把和Group相关的Student的主键id加入到缓存中,如果希望把整个Student的散装属性都加入到二级缓存中,还需要在Student.hbm.xml文件的标记中加入子标记,如下所示:
注:SSH中hibernate配置的cache信息
org.hibernate.cache.EhCacheProvider