您好,欢迎访问三七文档
关键字:ehcache参考:的特点,是一个纯Java,过程中(也可以理解成插入式)缓存实现,单独安装Ehcache,需把ehcache-X.X.jar和相关类库方到classpath中。如项目已安装了Hibernate,则不需要做什么。。直接可以使用EhcacheCache存储方式:内存或磁盘2.单独使用EHCache使用CacheManager创建并管理Cache1.创建CacheManager有4种方式:A:使用默认配置文件创建Java代码1.CacheManagermanager=CacheManager.create();B:使用指定配置文件创建Java代码1.CacheManagermanager=CacheManager.create(src/config/ehcache.xml);C:从classpath中找寻配置文件并创建Java代码1.URLurl=getClass().getResource(/anothername.xml);2.CacheManagermanager=CacheManager.create(url);D:通过输入流创建Java代码1.InputStreamfis=newFileInputStream(newFile(src/config/ehcache.xml).getAbsolutePath());2.try{3.manager=CacheManager.create(fis);4.}finally{5.fis.close();6.}卸载CacheManager,关闭CacheJava代码1.manager.shutdown();使用Caches取得配置文件中预先定义的sampleCache1设置,通过CacheManager生成一个CacheJava代码1.Cachecache=manager.getCache(sampleCache1);设置一个名为test的新cache,test属性为默认Java代码1.CacheManagermanager=CacheManager.create();2.manager.addCache(test);设置一个名为test的新cache,并定义其属性Java代码1.CacheManagermanager=CacheManager.create();2.Cachecache=newCache(test,1,true,false,5,2);3.manager.addCache(cache);往cache中加入元素Java代码1.Elementelement=newElement(key1,value1);2.cache.put(newElement(element);从cache中取得元素Java代码1.Elementelement=cache.get(key1);所以大概步骤为:第一步:生成CacheManager对象第二步:生成Cache对象第三步:向Cache对象里添加由key,value组成的键值对的Element元素具体一个Test.java程序:Java代码1.packagetest;2.3.importnet.sf.ehcache.Cache;4.importnet.sf.ehcache.CacheManager;5.importnet.sf.ehcache.Element;6./**7.*第一步:生成CacheManager对象8.*第二步:生成Cache对象9.*第三步:向Cache对象里添加由key,value组成的键值对的Element元素10.*@authormahaibo11.*12.*/13.publicclassTest{14.15.publicstaticvoidmain(String[]args){16.//指定ehcache.xml的位置17.StringfileName=E:\\1008\\workspace\\ehcachetest\\ehcache.xml;18.CacheManagermanager=newCacheManager(fileName);19.//取出所有的cacheName20.Stringnames[]=manager.getCacheNames();21.for(inti=0;inames.length;i++){22.System.out.println(names[i]);23.}24.//根据cacheName生成一个Cache对象25.//第一种方式:26.Cachecache=manager.getCache(names[0]);27.28.//第二种方式,ehcache里必须有defaultCache存在,test可以换成任何值29.//Cachecache=newCache(test,1,true,false,5,2);30.//manager.addCache(cache);31.32.//向Cache对象里添加Element元素,Element元素有key,value键值对组成33.cache.put(newElement(key1,values1));34.Elementelement=cache.get(key1);35.36.System.out.println(element.getValue());37.Objectobj=element.getObjectValue();38.System.out.println((String)obj);39.manager.shutdown();40.41.42.}43.44.45.}3.在Hibernate中运用EHCachehibernate.cfg.xml中需设置如下:2.1版本加入Java代码1.propertyname=hibernate.cache.provider_classnet.sf.ehcache.hibernate.Provider/property2.1以下版本加入Java代码1.propertyname=hibernate.cache.provider_classnet.sf.hibernate.cache.EhCache/property在Hibernate映射文件的每个需要Cache的Domain中Java代码1.hibernate-mapping2.class3.name=com.somecompany.someproject.domain.Country4.table=ut_Countries5.dynamic-update=false6.dynamic-insert=false7.8....9.10./hibernate-mapping加入类似如下格式信息:Java代码1.cacheusage=read-write|nonstrict-read-write|read-only/比如:Java代码1.cacheusage=read-write/具体如下:Java代码1.?xmlversion=1.0?2.!DOCTYPEhibernate-mappingPUBLIC-//Hibernate/HibernateMappingDTD3.0//EN3.=org.springside.bookstore.plugins.security.domain6.classname=Usertable=SS_USERSdynamic-insert=truedynamic-update=true7.cacheusage=nonstrict-read-write/8.idname=idcolumn=ID9.generatorclass=native/10./id11.propertyname=loginidcolumn=LOGINIDnot-null=true/12.propertyname=passwdcolumn=PASSWDnot-null=true/13.propertyname=namecolumn=NAMEnot-null=true/14.propertyname=emailcolumn=EMAIL/15.propertyname=regioncolumn=REGION/16.propertyname=statuscolumn=STATUS/17.propertyname=descncolumn=DESCN/18.setname=rolestable=SS_USER_ROLElazy=trueinverse=falsecascade=save-updatebatch-size=519.key20.columnname=USER_IDnot-null=true/21./key22.many-to-manyclass=Rolecolumn=ROLE_ID/23./set24./class25./hibernate-mapping然后在ehcache.xml中加入Java代码1.ehcache2.cachename=com.somecompany.someproject.domain.Country3.maxElementsInMemory=100004.eternal=false5.timeToIdleSeconds=3006.timeToLiveSeconds=6007.overflowToDisk=false8./9./ehcache
本文标题:ehcache使用
链接地址:https://www.777doc.com/doc-4510573 .html