JAVA快取應用 OSCache使用指南

2021-04-22 06:55:10 字數 2063 閱讀 8798

oscache是當前運用最廣的快取方案,jboss,hibernate,spring等都對其有支援,下面簡單介紹一下oscache的配置和使用過程。

1.安裝過程

從解壓縮目錄取得oscache.jar 檔案放到 /web-inf/lib 或相應類庫目錄 目錄中,

jar檔名可能含有版本號和該版本的發布日期資訊等,如oscache-2.0.2-22jan04.jar

如果你的jdk版本為1.3.x,建議在lib中加入apache common lib 的commons-collections.jar包。

如jdk是1.4以上則不必

從src或etc目錄取得oscache.properties 檔案,放入src根目錄或發布環境的/web-inf/classes 目錄

如你需要建立磁碟快取,須修改oscache.properties 中的cache.path資訊 (去掉前面的#注釋)。

拷貝oscache標籤庫檔案oscache.tld到/web-inf/classes目錄。

現在你的應用目錄類似如下:

將下列**加入web.xml檔案中

程式**:

oscache

/web-inf/classes/oscache.tld

為了便於除錯日誌輸出,須加入commons-logging.jar和log4j-1.2.8.jar到當前類庫路徑中

在src目錄加入下面兩個日誌輸出配置檔案:

log4j.properties 檔案內容為:

程式**:

log4j.rootlogger=debug,stdout,file

log4j.logger.org.apache.commons=error

log4j.logger.com.opensymphony.oscache.base=info

commons-logging.properties 檔案內容為

org.apache.commons.logging.log=org.apache.commons.logging.impl.log4jcategorylog

2.oscache.properties 檔案配置嚮導

cache.memory

值為true 或 false ,預設為在記憶體中作快取,

如設定為false,那cache只能快取到資料庫或硬碟中,那cache還有什麼意義:)

cache.capacity

快取元素個數

cache.persistence.class

持久化快取類,如此類開啟,則必須設定cache.path資訊

cache.cluster 相關

為集群設定資訊。

如 cache.cluster.multicast.ip為廣播ip位址

cache.cluster.properties為集群屬性

3.oscache的基本用法

cache1.jsp 內容如下

程式**:

沒有快取的日期:

每30秒重新整理快取一次的日期:

手動重新整理快取的日期:

手動重新整理

cache2.jsp 執行手動重新整理頁面如下

< %@ taglib uri="oscache" prefix="cache" % >

快取已重新整理... 返回

程式**:

...

4. 快取過濾器 cachefilter

你可以在web.xml中定義快取過濾器,定義特定資源的快取。

程式**:

cachefilter

com.opensymphony.oscache.web.filter.cachefilter

time

60 scope

session

cachefilter

*.jsp

上面定義將快取所有.jsp頁面,快取重新整理時間為60秒,快取作用域為session

注意,cachefilter只捕獲http頭為200的頁面請求,即只對無錯誤請求作快取,

而不對其他請求(如500,404,400)作快取處理。

OSCache 快取運用

對於一些 型別的專案.我們可以採取的方案就是減少和資料庫方面的交換.這樣我們可以使用快取.由於專案使用hibernate已經使用了ehcache的2級快取.這裡可以在web層上使用oscache來進行快取 需要的jar包有 oscache.jar和lib commons logging.jar 開發...

OSCache 快取標籤

是oscache提供的標籤庫中最重要的乙個標籤,包括在標籤中的內容將應用快取機制進行處理,處理的方式將取決於程式設計者對cache標籤屬性的設定。1.快取時間超過了cache標籤設定的time或者duration屬性規定的超時時間 2.cron屬性規定的時間比快取資訊的開始時間更晚 3.標籤中快取的...

OSCache快取過濾器

用cashfilter實現頁面級快取。在oscache元件中提供了乙個cachefilter用於實現頁面級的快取,主要用於對web應用中的某些動態頁面進行快取,尤其是那些需要生成pdf格式檔案 報表 檔案等的頁面,不僅減少了資料庫的互動 減少資料庫伺服器的壓力,而且對於減少web伺服器的效能消耗有很...