EhCache笔记

来源:互联网 发布:java ssh 文件下载 编辑:程序博客网 时间:2024/06/05 16:47

到目前为止(2013-08-07),maven-core的最新版本为 2.7.3,但不知为何mvn中央库略有延迟,最新的ehcache版本为2.7.2

pom.xml如下

<dependency><groupId>net.sf.ehcache</groupId><artifactId>ehcache</artifactId><version>2.7.2</version></dependency>

这样变加入了ehcache的整合jar包(包括ehcache-core,ehcache-web等)

(ps:http://mvnrepository.com/  真是个好东西)


EhCache有多重缓存种类,常用的有orm层的二级缓存(和hibernate等搭配使用)

另外一种就是页面缓存,页面缓存分为三种,页面缓存也分多种(具体见ehcache的doc,链接地址)


页面缓存的使用非常简单:

ehcache中配置(名字不能更改)

 <cache name="SimplePageCachingFilter"           maxEntriesLocalHeap="10000"           maxEntriesLocalDisk="10000"           eternal="false"           overflowToDisk="false"           timeToIdleSeconds="60000"           timeToLiveSeconds="60000"           memoryStoreEvictionPolicy="LRU"   />


web.xml中配置filter(我一般把ehcache的filter放置在第一个filter'的位置上,在位置上与urlwriter filter的前后关系主要

关乎更新缓存时的页面key值(地址不同))

<filter>    <filter-name>SimplePageCachingFilter</filter-name>    <filter-class>net.sf.ehcache.constructs.web.filter.SimplePageCachingFilter    </filter-class>  </filter>    <filter-mapping>    <filter-name>SimplePageCachingFilter</filter-name>    <url-pattern>/index.action</url-pattern>  </filter-mapping>

其中url-pattern为要进行页面缓存的页面,这里我们只缓存了首页,当第一次访问 /index.action时,会在缓存中加入一条记录,

key值为url, value为缓存内容:


刷新缓存的方法为:

CacheManager cacheManager = CacheManager.getInstance();Ehcache cache = cacheManager.getEhcache("SimplePageCachingFilter");cache.removeAll();             //删除全部缓存cache.remove("/index.action")  //删除某一条缓存


这样,remove之后,之后重新访问,就会重新添加缓存记录,达到了更新缓存的效果


(未完待续)