動的キャッシュ・サービスの使用

動的キャッシュ・サービスを使用し、サーブレット、Web サービス、および WebSphere® Application Server コマンドの出力をメモリーにキャッシュすることによってアプリケーション・パフォーマンスを向上させます。

始める前に

アプリケーションのキャッシュ・ポリシーを作成します。キャッシュ・ポリシーは、キャッシュする応答およびキャッシュに保持する必要のある応答の時間に関するルールを定義します。 詳しくは、『cachespec.xml ファイルによるキャッシュ可能オブジェクトの構成』を参照してください。

このタスクについて

デフォルトでは、動的キャッシュ・サービスは使用可能となっています。 以下のようにして、デフォルトのキャッシュ・インスタンスを構成します。

手順

  1. 「サーバー」>「サーバー・タイプ」>「WebSphere® Application Servers」> 「server_name」 >「コンテナー・サービス」>「動的キャッシュ・サービス」とクリックします。
  2. デフォルトのキャッシュ・インスタンスを構成するか、リンク先でサーブレットまたはポートレット・キャッシングを使用可能にします。 デフォルトのキャッシュ設定について詳しくは、『動的キャッシュ・サービスの設定』を参照してください。

この例は、cachespec.xml ファイルを使用して動的キャッシュ・サービスを構成するためのすべてのステップをまとめたもので、 キャッシュ ID 生成規則、依存関係 ID、および無効化規則の使用について示します。

サーブレットが簡単なニュース・サイトを管理していると仮定します。このサーブレットは、照会パラメーター「action」を使用して、 その要求がニュースを表示 (照会パラメーター「view」)、あるいはニュースを更新 (照会パラメーター「update」) するのかを判別します (管理者が使用)。 別の照会パラメーター「category」を使用して、ニュースのカテゴリー を選択します。 このサイトでは、 オプションのカスタマイズされたレイアウトがサポートされており、 これは、「layout」という属性名を使用して、 ユーザーのセッションに保管されているものとします。 このサーブレットに対する 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. サーブレットの識別に必要な <cache-entry> エレメントを定義します。 この場合、サーブレットの URI は「newscontroller」であり、これが cache-entry の <name> エレメントになります。 この例では、サーブレットまたは JavaServer Pages (JSP) ファイルをキャッシュしているので、キャッシュ・エントリーのクラ スは「servlet」です。
    <cache-entry>
    <name> /newscontroller </name>
    <class>servlet  </class>  
     </cache-entry>
  2. キャッシュ ID 生成規則を定義します。 このサーブレットは、action=view のときにのみキャッシュするため、値が「view」に等しいときは、キャッシュ ID の 1 つのコンポーネントはパラメーター「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 規則を定義します。 このサーブレットの場合、依存関係 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