oscache基礎(一)

一.什麼是oscache

OSCache標記庫由OpenSymphony設計,它是一種開創性的JSP定製標記應用,提供了在現有JSP頁面之內實現快速內存緩衝的功能。OSCache是個一個廣泛採用的高性能的J2EE緩存框架,OSCache能用於任何Java應用程序的普通的緩存解決方案。OSCache有以下特點:緩存任何對象,你可以不受限制的緩存部分jsp頁面或HTTP請求,任何java對象都可以緩存。擁有全面的API--OSCache API給你全面的程序來控制所有的OSCache特性。永久緩存--緩存能隨意的寫入硬盤,因此允許昂貴的創建(expensive-to-create)數據來保持緩存,甚至能讓應用重啓。支持集羣--集羣緩存數據能被單個的進行參數配置,不需要修改代碼。緩存記錄的過期--你可以有最大限度的控制緩存對象的過期,包括可插入式的刷新策略(如果默認性能不需要時)。

2.配置

tp://www.opensymphony.com/oscache/
oscache.jar
\lib\commons-logging.jar

配置步驟:
第一步:把上述兩個jar文件放置在WEB-INF/lib目錄下.
第二步:把oscache安裝目錄下的/etc/oscache.properties 文件放入 /WEB-INF/classes目錄.開發階段,我們可以把該文件放置在src目錄

3.局部緩存

人爲管理緩存<flush />標籤:
<oscache:flush scope="application" /> 
清除application範圍內的所有緩存
<oscache:flush scope="session" key="foobar" />
清除session範圍內的key爲foobar的緩存。


<oscache:flush scope="application" group="currencyData" />
清除application範圍內組名爲currencyData內的所有緩存。

4.全局緩存配置

頁面全局緩存將使用Filter實現(巴巴運動網產品列表顯示採用的方案):
<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>7200</param-value>
   </init-param>
   <init-param>
       <param-name>scope</param-name>
       <param-value>application</param-value>
   </init-param>
</filter>
<filter-mapping>
   <filter-name>CacheFilter</filter-name>
   <url-pattern>*.jsp</url-pattern>
</filter-mapping>


緩存的key將以請求的URI+查詢字串組成,如果你訪問/oscache/index.jsp?name=ttt和/oscache/index.jsp?name=ppp將得到兩份緩存。緩存是在初次訪問頁面時進行的,後續的請求將會返回緩存中的內容。緩存中存放的內容爲頁面返回給用戶的html源代碼。

5.oscache緩存到磁盤

cache.memory=true
指定是否使用內存緩存,默認值爲true,即使用內存緩存。
cache.capacity
指定緩存的容量,默認的容量是無限的。我們可以爲它設置緩存數量,如:
cache.capacity=100000


如果我們要使用硬盤緩存,可以這樣設置:
cache.memory=false
cache.path=d:\\cache  (指定,緩存保存的路徑,注意:路徑應採用雙\符)
cache.persistence.class=com.opensymphony.oscache.plugins.diskpersistence.DiskPersistenceListener
cache.persistence.class用於設置持久化類。

發佈了104 篇原創文章 · 獲贊 37 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章