到目前为止(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") //删除某一条缓存
(未完待续)