Dynamischen Cacheservice verwenden

Verwenden Sie den dynamischen Cacheservice, um die Anwendungsleistung durch Zwischenspeichern der Ausgabe von Servlets, Web-Services und Befehlen von WebSphere Application Server zu verbessern.

Vorbereitende Schritte

Entwickeln Sie eine Cacherichtlinie für Ihre Anwendung. Die Cacherichtlinie definiert Regeln für das Zwischenspeichern von Antworten und das Zeitlimit für die Antworten im Cache. Weitere Informationen finden Sie im Artikel "Cachefähige Objekte mit der Datei "cachespec.xml" konfigurieren".

Informationen zu diesem Vorgang

Der dynamische Cacheservice ist standardmäßig aktiviert. Sie können die Standardcacheinstanz wie folgt konfigurieren:

Vorgehensweise

  1. Klicken Sie auf Server > Servertypen > WebSphere-Anwendungsserver > Servername > Containerservices > Dynamischer Cache-Service.
  2. Konfigurieren Sie die Standardcacheinstanz, oder folgen Sie den Links zum Aktivieren des Servlet- oder Portlet-Cachings. Weitere Informationen zu den Standardcacheeinstellungen finden Sie im Artikel "Einstellungen des dynamischen Cacheservice".

Beispiel

Dieses Beispiel führt alle Schritte auf, die zur Konfiguration des dynamischen Cacheservice mit der Datei cachespec.xml erforderlich sind und zeigt die Regeln zur Generierung von Cache-IDs, die Abhängigkeits-IDs und die Invalidierungsregeln.

Angenommen, ein Servlet verwaltet eine einfache News-Site. Dieses Servlet verwendet den Abfrageparameter "action", um festzustellen, ob die Anforderung verwendet wird, um News anzuzeigen (Abfrageparameter "view") oder zu aktualisieren (Abfrageparameter "update" - wird vom Administrator verwendet). Ein weiterer Abfrageparameter, "category", wählt die News-Kategorie aus. Nehmen Sie ferner an, dass diese Site ein optionales angepasstes Layout unterstützt, das mit dem Attributnamen "layout" in der Benutzersitzung gespeichert wird. Es folgen Beispiele für URL-Anforderungen, die an dieses Servlet gerichtet sind:
  • http://yourhost/yourwebapp/newscontroller?action=view&category=sports (Gibt eine News-Seite für die Kategorie "sports" zurück.)
  • http://yourhost/yourwebapp/newscontroller?action=view&category=money (Gibt eine News-Seite für die Kategorie "money" zurück.)
  • http://yourhost/yourwebapp/newscontroller?action=update&category=fashion (Ermöglicht dem Administrator, News in der Kategorie "fashion" zu aktualisieren.)

Im Folgenden wird beschrieben, wie Sie den dynamischen Cacheservice für dieses Beispiel mit der Datei cachespec.xml konfigurieren:

  1. Definieren Sie die <cache-entry>-Elemente, die erforderlich sind, um das Servlet zu identifizieren. In diesem Fall hat das Servlet den URI "newscontroller". Somit ist dies das Element <name> des Elements cache-entry. Da dieses Beispiel ein Servlet bzw. eine JSP-Datei zwischenspeichert, lautet die Klasse des Cacheeintrags "servlet".
    <cache-entry> 
    <name> /newscontroller </name>
    <class>servlet  </class>  
     </cache-entry>
  2. Regeln zur Generierung von Cache-IDs definieren. Das Servlet wird nur zwischengespeichert, wenn action=view festgelegt ist. Eine Komponente der Cache-ID ist also der Parameter "action", wenn der Wert gleich "view" ist. Die Kategorie "News" ist ebenfalls ein wesentlicher Teil der Cache-ID. Das optionale Sitzungsattribut für das Layout des Benutzers ist in der Cache-ID enthalten. Der Cacheeintrag lautet jetzt wie folgt:
    <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. Regeln für Abhängigkeits-IDs definieren. Bei diesem Servlet wird eine Abhängigkeits-ID für die Kategorie hinzugefügt. Später, wenn die Kategorie aufgrund eines Aktualisierungsereignisses invalidiert wird, werden alle Sichten dieser News-Kategorie invalidiert. Das folgende Beispiel zeigt den Cacheeintrag nach dem Hinzufügen der Abhängigkeits-ID (dependency-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. Regeln für die Invalidierung definieren. Da die Abhängigkeits-ID für eine Kategorie bereits definiert wurde, wird jetzt eine Invalidierungsregel zur Invalidierung der Kategorie definiert, wenn die Einstellung "action=update" festgelegt ist. Zur Einbindung der bedingten Logik werden "ignore-value"-Komponenten zur Invalidierungsregel hinzugefügt. Diese Komponenten werden nicht der Ausgabe der Invalidierungs-ID hinzugefügt, sondern legen nur fest, ob die Invalidierungs-ID erstellt und ausgeführt wird. Das Element "cache-entry" sieht schließlich wie folgt aus:
    <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>

Nächste Schritte

Sie können die Auslagerung auf die Platte für den dynamischen Cache aktivieren. Wenn Sie diese Option auswählen, werden die verfallenen Cacheeinträge für spätere Zugriffe vom Speicher auf die Platte verschoben. Weitere Informationen finden Sie im Artikel zum Konfigurieren der Auslagerung des dynamischen Caches auf die Platte.

Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdyn_enablecache
Dateiname:tdyn_enablecache.html