OSCache入門教程

來源:互聯網
上載者:User

    OSCache是一個開放式資源緩衝庫,可從http://www.opensymphony.com/oscache免費下載。它包括一組JSP的標籤,通過它們可以很容易的在你的程式中實現頁面緩衝,同時,還可以使用它的過濾器,可緩衝的不僅僅是JSP頁面,還可以緩衝任何Servlet產生的內容。
    下面先介紹一下它的一些術語:
    緩衝記錄:儲存在頁面緩衝器內的對象稱為一個緩衝記錄。在一個JSP程式中,它通常是一個JSP頁面、JSP頁面的一部分或Servlet的輸出。
    緩衝鍵碼:它就像一個哈西表(Hash Table)。當在頁面緩衝中儲存緩衝記錄時,你必須提供緩衝鍵碼來識別各個條目。在一個JSP程式中,你可能需要把幾個請求參數組合在一起來形成緩衝鍵碼,或者使用頁面請求URI作為緩衝鍵碼。
    緩衝周期:是一個緩衝記錄在保留在頁面緩衝器中的時間。對於一個顯示資料時常更新的JSP頁面,你應該設定一個短的緩衝周期。
    緩衝域:是緩衝被儲存在的範圍。你可以在應用程式定義域記憶體儲緩衝記錄,這樣,緩衝記錄可以被所有使用者分享;或者在會話域,在前使用者基礎上儲存緩衝記錄。

安裝OSCache
    解壓下載下來的檔案包,將oscache.jar放到lib目錄下,將oscache.properties和oscache.tld放到WEB-INF/classes下。在web.xml中加入標籤庫的配置:
    <taglib>
          <taglib-uri>oscache</taglib-uri>
          <taglib-location>/WEB-INF/classes/oscache.tld</taglib-location>
    </taglib>
    oscache.properties檔案是它的配置,如果你像將快取檔案存放在硬碟上,並使用windows,在指定目錄上需要使用//。比如你的目錄是c:/cache,那麼應該寫上c://cache。

OSCache JSP標籤
    使用這些標籤很簡單。你要做的是在需要緩衝的JSP頁面部分防止<os:cache>標籤。以下JSP頁面的樣本表明了其實現方法:
    <!--匯入標籤庫-->
    <%@ taglib uri="/WEB-INF/oscache.tld" prefix="os" %>
    <!--開始使用-->
    <os:cache time="60">
    <!--這裡是你要緩衝的JSP代碼-->
    <os:cache>
    怎麼樣很簡單吧,你只需把你要緩衝的代碼用<os:cache>標籤包圍起來即可,這裡緩衝周期是60秒,你可以根據你的具體情況來修改。在這個例子中,我們沒有指定一個緩衝鍵碼,預設情況下,OSCache將使用請求URI作為緩衝記錄的鍵碼。也沒有指定一個緩衝域,預設情況下將會使用應用程式定義域。

OSCacheServlet過濾器
    我們現在可以用它的過濾器來緩衝Servlet的輸出,通過使用com.opensymphony.module.oscache.web.filter.CacheFilter類來實現。現在你需要做的是在程式的web.xml中添加這個過濾器,以及為所有你希望緩衝的URL樣式添加過濾器映射。以下是web.xml檔案,我們只給出需要的部分:
    <filter>
     <filter-name>CacheFilter</filter-name>
     <filter-class>com.opensymphony.module.oscache.web.filter.CacheFilter</filter-class>
     <init-param>
      <param-name>time</param-name>
      <param-value>60</param-value>
     </init-param>
    </filter>

    <filter-mapping>
     <filter-name>CacheFilter</filter-name>
     <uri-pattern>/servlets/*</url-pattern>
    </filter-mapping>
    過濾器元素應該在上下文參數之後,但在Servlet和監聽器元素之前。
    如同前面JSP的例子一樣,我們同樣設定了緩衝時間為60秒。其他的參數,如緩衝鍵碼和緩衝域被省略,使用預設值。<filter-mapping>元素配置CacheFilter,以便它為匹配樣式/servlets/*的所有請求URL緩衝相應輸出。

    這篇教程只是簡單的介紹一下OSCache的用法,以後我會在繼續添加,請繼續關注我的部落格!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.