OSCache使用
介紹 2009-05-16 17:50 一.OSCache簡(jiǎn)介
OSCache是OpenSymph prefix="os"%>這樣來(lái)引用了.
其二,直接引用.直接在JSp中加入OSCache的標(biāo)簽庫(kù)引用
<%@ taglib uri="/WEB- INF/classes/oscache.tld" prefix="os"%>.如果要進(jìn)入官方的標(biāo)簽庫(kù)的話也行.& lt;%@ taglib uri="http://www.opensymph %& gt;這樣就不用再把oscache.tld放在/WEB-INF/classes下了.
目前OSCache有5個(gè)標(biāo)簽.他們是cache, usecached, flush, addgroup, addgroups.下面我們來(lái)分別
介紹一下他們的屬性和用法.
<cache></cache>
他是OSCache中最主要的標(biāo)簽了.括起來(lái)的內(nèi)容將根據(jù)屬性的設(shè)置來(lái)緩存起來(lái).第一次執(zhí)行的時(shí)候,OSCache會(huì)把cache標(biāo)簽中的JSp 執(zhí)行并且緩存起來(lái),以后再執(zhí)行的話,他會(huì)首先判斷緩存的內(nèi)容是否過(guò)期,如果過(guò)期那么會(huì)從新執(zhí)行并緩存.否則就直接從緩存中讀取.判定過(guò)期的條件如下:
i.緩存的內(nèi)容超過(guò)了屬性time所指定的時(shí)間.
ii.不符合cr.這將允許你以組的名義來(lái)操作他們,分組非常有用,比如你要緩存的內(nèi)容正好需要另外一個(gè)應(yīng)用程序的一部分或數(shù)據(jù),當(dāng)依賴的發(fā)生了改變,正好聯(lián)動(dòng)的可以 使很多的組過(guò)期,進(jìn)而使與組發(fā)生關(guān)聯(lián)的緩存內(nèi)容得到更新.
language : 設(shè)置編碼方式.
refreshpolicyclass:指定自定義的類來(lái)處理緩存的內(nèi)容什么時(shí)候過(guò)期.這個(gè)類需要從 refreshpolicyparam com.opensymph time="1800" refresh="<%=needRefresh%>">
<!--這里是要緩存的內(nèi)容-->
</os:cache>
這里將myKey標(biāo)識(shí)的緩存內(nèi)容保持30分鐘,到期自動(dòng)刷新.如果needRefresh為true也會(huì)刷新(適合于更新內(nèi)容的即時(shí)刷新).
<os:cache key="<%=myKey%>" cr refresh="<%=needRefresh%>">
<!--這里是要緩存的內(nèi)容-->
</os:cache>
將myKey標(biāo)識(shí)的緩存內(nèi)容在每天的凌晨2時(shí)自動(dòng)刷新.如果needRefresh為true也會(huì)刷新(適合于更新內(nèi)容的即時(shí)刷新).
舉到了這個(gè)例子,我不得不把cr : 是否應(yīng)用的標(biāo)記. 默認(rèn)為True.一般省略.
應(yīng)用例子:
<os:cache>
..內(nèi)容..
<% try {%>
......其它內(nèi)容
<%}catch (Excepti/> YES
<% } %>
</os:cache>
則出現(xiàn)異常時(shí)的頁(yè)面輸出有兩種:
1>. isUsed=false
..內(nèi)容..
......其它內(nèi)容
Inside catch: YES
2>. isUsed=true
Missing cached c />
刷新sessi key="foobar" />
在applicati group="currencyData" />
<addgroup />
這個(gè)標(biāo)簽也是必須嵌套在cache標(biāo)簽中的.把緩存的東東放入到指定的組中.這樣就可以以組來(lái)刷新指定的內(nèi)容了.
屬性只有g(shù)roup來(lái)指定名字的.例子如下:
把test1加入到group1和group2中
<os:cache key="test1">
< os:addgroup group="group1" />
... some jsp c />
... some more jsp c>
... some jsp c />
... some jsp c cr>
<jsp:include page="/ringcategory.do" flush="true" >
<jsp:param name="ringType" value="http://blog.soso.com/qz.q/1"/>
</jsp:include>
</cache:cache>
4)、O/R Data Access 緩存
請(qǐng)閱讀參考資料的內(nèi)容獲取詳情。