oscache使用步骤

1:导入相关的jar包;
2:在classpath路径中放入oscache.properties文件:
  配置项有:
缓存模式false为硬盘,true为内存
cache.memory=false   
##缓存到硬盘的持久化类
cache.persistence.class=com.opensymphony.oscache.plugins.diskpersistence.DiskPersistenceListener
##硬盘模式缓存路径
cache.path=D:\\oscache
##缓存个数
cache.capacity=1000

3:缓存为全局缓存时配置过滤器,该过滤器放在过滤器最前面
<filter>
<filter-name>CacheFilter</filter-name>
<filter-class>com.opensymphony.oscache.web.filter.CacheFilter</filter-class>
<init-param>
<param-name>time</param-name>
<param-value>600</param-value>
</init-param>
<init-param>
<param-name>scope</param-name>
<param-value>session|application</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CacheFilter</filter-name>
<url-pattern>(要缓存的url路径)/product/list/*</url-pattern>
</filter-mapping>

4:局部缓存是用法
导入标签库:<%@ taglib uri="http://www.opensymphony.com/oscache" prefix="oscache" %>

要局部缓存的地方加入:
<cache:cache key="<%= product.getId() %>" time="1800" refresh="<%= needRefresh %>">
<% //自己的JSP代码内容 %>
</cache:cache>

5:刷新缓存
//清除application范围内的缓存
<oscache:flush scope="application"></oscache:flush>
//清除指定key的缓存
<oscache:flush key="foobar" scope="session"></oscache:flush>
//清除组名为currentData,范围application的缓存
<oscache:flush group="currentData" scope="application"></oscache:flush>


缓存是以Map的形式存储的,key为网页的访问url,或者也可以自定义,例如<oscache:cache key="itcast">
缓存的数据分两种范围:application(所有人都可以获取),session(只有用户可以获取自己的)

你可能感兴趣的:(cache)