使用動態快取服務

使用動態快取服務將 Servlet、Web 服務和 WebSphere®Application Server 指令的輸出快取到記憶體中,以增進應用程式效能。

開始之前

針對應用程式開發快取原則。快取原則為回應快取的內容及回應應該在快取中持續的時間量定義規則。如需相關資訊,請參閱「利用 cachespec.xml 檔來配置可快取的物件」一文。

關於這項作業

依預設,會啟用動態快取服務。您可以配置預設快取實例,如下所示:

程序

  1. 按一下伺服器 > 伺服器類型 > WebSphere ® Application Server > server_name > 儲存器服務 > 動態快取服務
  2. 配置預設快取實例,或依循鏈結以啟用 Servlet 或 Portlet 快取。 如需預設快取設定的相關資訊,請參閱「動態快取服務設定」一文。

範例

這個範例將使用 cachespec.xml 檔來配置動態快取服務的步驟全部放在一起,並顯示快取 ID 產生規則、相依 ID 及無效規則的使用。

假設 Servlet 管理一個簡易的新聞網站。這個 Servlet 使用查詢參數「action」來判斷要求檢視(查詢參數「view」)新聞或更新項目(查詢參數「update」)新聞(由管理者使用)。另一個查詢參數 "category" 則選取新聞種類。假設此網站支援選用的自訂佈置,而該佈置以屬性名稱「layout」儲存在使用者的階段作業中。以下是傳送到此 Servlet 的 URL 要求範例:
  • http://yourhost/yourwebapp/newscontroller?action=view&category=sports (傳回運動種類的新聞頁面)
  • http://yourhost/yourwebapp/newscontroller?action=view&category=money (傳回理財種類的新聞頁面)
  • http://yourhost/yourwebapp/newscontroller?action=update&category=fashion (容許管理者更新時尚種類的新聞)

下列步驟說明如何使用 cachespec.xml 檔,為這個範例配置動態快取服務:

  1. 定義識別 Servlet 所需的 <cache-entry> 元素。在此情況下,Servlet 的 URI 是 "newscontroller",因此這是 cache-entry <name> 元素。由於此範例快取 Servlet 或 Java Server Pages (JSP) 檔,因此快取項目類別是 "servlet"。
    <cache-entry>
    <name> /newscontroller </name>
    <class>servlet  </class>
     </cache-entry>
  2. 定義快取 ID 產生規則。 此 Servlet 只有在 action=view 時才會快取,因此當值等於「view」時,快取 ID 的其中一個元件是參數「action」。新聞種類也是快取 ID 必不可少的部分。這個快取 ID 中包含使用者佈置的選用階段作業屬性。現在,快取項目為:
    <cache-entry>
    	<name> /newscontroller </name>
    	<class>servlet  </class>
     	<cache-id>
    		<component id="action" type="parameter">
    			<value>view</value>
    			<required>true</required>
    		</component>
    		<component id="category" type="parameter">
    			<required>true</required>
    		</component>
    		<component id="layout" type="session">
    			<required>false</required>
    		</component>
    	</cache-id>
    </cache-entry>
  3. 定義相依 ID 規則。對於這個 Servlet,會新增種類的相依 ID。 稍後,當種類因更新事件而失效時,該新聞種類的所有視圖會全部失效。 以下是新增相依 ID 之後的快取項目範例:
    <cache-entry>
    	<name>newscontroller </name>
    	<class>servlet  </class>
     	<cache-id>
    		<component id="action" type="parameter">
    			<value>view</value>
    			<required>true</required>
    		</component>
    		<component id="category" type="parameter">
    			<required>true</required>
    		</component>
    		<component id="layout" type="session">
    			<required>false</required>
    		</component>
    	</cache-id>
    	<dependency-id>category
    		<component id="category" type="parameter">
    			<required>true</required>
    		</component>
    	</dependency-id>
    </cache-entry>
  4. 定義失效規則。由於定義了種類相依 ID,因此定義失效規則,在 action=update 時,讓種類失效。如果要合併條件式邏輯,請將「ignore-value」元件新增至失效規則中。這些元件不會新增至失效 ID 的輸出中,只是會決定是否要建立及執行失效 ID。現在,最後的快取項目如下所示:
    <cache-entry>
    	<name>newscontroller </name>
    	<class>servlet  </class>
     	<cache-id>
    		<component id="action" type="parameter">
    			<value>view</value>
    			<required>true</required>
    		</component>
    		<component id="category" type="parameter">
    			<required>true</required>
    		</component>
    		<component id="layout" type="session">
    			<required>false</required>
    		</component>
    	</cache-id>
    	<dependency-id>category
    		<component id="category" type="parameter">
    			<required>true</required>
    		</component>
    	</dependency-id>
    	<invalidation>category
    		<component id="action" type="parameter" ignore-value="true">
    			<value>update</value>
    			<required>true</required>
    		</component>
    		<component id="category" type="parameter">
    			<required>true</required>
         </component>
    	</invalidation>
    </cache-entry>

下一步

您可能想要啟用動態快取磁碟卸載。這個選項會將記憶體中過期的快取項目移到磁碟,以便未來有可能需要加以存取。如需啟用磁碟卸載的相關資訊,請參閱「配置動態快取磁碟卸載」。

指出主題類型的圖示 作業主題



時間戳記圖示 前次更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdyn_enablecache
檔名:tdyn_enablecache.html