(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(); }
(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");
(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");
manager.shutdown();
下附代码。
1、hibernate.cfg.xml中需设置如下:
3系列版本加入
<property name=” hibernate.cache.provider_class”> org.hibernate.cache.EhCacheProvider </property>
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、持久化类的映射文件进行配置
<cache usage="read-write"/>
在<set>标记中设置了<cache usage="read-write"/>,但Hibernate仅把和Group相关的Student的主键id加入到缓存中,如果希望把整个Student的散装属性都加入到二级缓存中,还需要在Student.hbm.xml文件的<class>标记中加入<cache>子标记,如下所示:
<cache usage="read-write" /> <!--cache标记需跟在class标记后-->
注:SSH中hibernate配置的cache信息
<prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>