Utilisation du service de cache dynamique

Utilisez le service de cache dynamique pour améliorer les performances des applications en mettant en cache la sortie des servlets, des services web et des commandes WebSphere Application Server dans la mémoire.

Avant de commencer

Développez une règle de cache pour votre application. La règle de cache définit quelles réponses doivent être mises en cache et la durée qu'elles doivent y résider. Pour plus d'informations, reportez-vous à l'article Configuration des objets pouvant être mis en cache à l'aide du fichier cachespec.xml.

Pourquoi et quand exécuter cette tâche

Le service de cache dynamique est activé par défaut. Vous pouvez configurer l'instance de cache par défaut de la manière suivante :

Procédure

  1. Cliquez sur Serveurs > Types de serveurs > Serveurs d'applications WebSphere > nom_serveur > Services du conteneur > Service de cache dynamique.
  2. Configurez l'instance de cache par défaut ou suivez les liens pour activer la mise en cache du servlet ou du portlet. Pour plus d'informations sur les paramètres de cache par défaut, reportez-vous à l'article Paramètres du service de cache dynamique.

Exemple

L'exemple ci-dessous regroupe toutes les étapes de configuration du service de cache dynamique à l'aide du fichier cachespec.xml, afin de présenter l'utilisation des règles de génération d'ID cache, des ID de dépendance et des règles d'invalidation.

Supposons qu'un servlet gère un simple site d'actualités. Ce servlet utilise le paramètre de requête "action" pour déterminer si la demande est utilisée pour la "visualisation" des actualités (paramètre de visualisation "view") ou pour la "mise à jour" des actualités (paramètre de visualisation "update", utilisé par l'administrateur). Un autre paramètre de requête "catégorie" sélectionne la catégorie d'actualités. Supposons que ce site prend en charge un format personnalisé facultatif qui est stocké dans la session de l'utilisateur à l'aide du nom d'attribut "layout" (format). Voici des exemples de requêtes URL adressées à ce servlets :
  • http://votrehôte/votreappweb/newscontroller?action=view&category=sports (Renvoie une page d'actualités pour la catégorie sports)
  • http://votrehôte/votreappweb/newscontroller?action=view&category=money (Renvoie une page d'actualités pour la catégorie money (argent))
  • http://votrehôte/votreappweb/newscontroller?action=update&category=fashion (Permet à l'administrateur de mettre à jour les actualités dans la catégorie fashion (mode))

Les étapes suivantes illustrent la façon de configurer le service de cache dynamique pour cet exemple avec le fichier cachespec.xml.

  1. Définissez les éléments d'entrée de cache (<cache-entry>) nécessaires à l'identification du servlet. Dans ce cas, l'URI du servlet est "newscontroller", ce qui va être l'élément nom (<name>) de l'entrée de cache. Etant donné que cet exemple met en cache un servlet ou un fichier JSP (JavaServer Pages), la classe d'entrée de cache est "servlet".
    <cache-entry> 
    <name> /newscontroller </name>
    <class>servlet  </class>  
     </cache-entry>
  2. Définissez des règles de génération d'ID cache. Ce servlet est mis en cache uniquement lorsque action=view (visualisation) ; par conséquent, un composant de l'ID cache correspond au paramètre "action" lorsque celui-ci a pour valeur "view" (visualisation"). La catégorie d'actualités est également une composante essentielle de l'ID cache. L'attribut de session facultatif du format de l'utilisateur est inclus dans l'ID cache. L'entrée de cache est désormais la suivante :
    <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. Définissez des règles d'ID de dépendance. Dans le cas de ce servlet, un ID de dépendance est ajouté pour la catégorie. Ultérieurement, lorsque la catégorie est invalidée en raison d'un événement de mise à jour, toutes les vues de cette catégorie d'actualités sont invalidées. Voici l'exemple d'entrée de cache après l'ajout de l'ID de dépendance :
    <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. Définissez des règles d'invalidation. Dans la mesure où un ID de dépendance de catégorie est déjà défini, définissez une règle d'invalidation pour invalider la catégorie lorsque action=update (mise à jour). Pour incorporer la logique conditionnelle, ajoutez des composants "ignore-value" dans la règle d'invalidation. Ces composants ne s'ajoutent pas à la sortie de l'ID d'invalidation mais déterminent uniquement si l'ID d'invalidation est créé et exécuté. L'entrée de cache définitive se présente désormais de la façon suivante :
    <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>

Que faire ensuite

Vous pouvez choisir d'activer le déchargement sur disque du cache. Cette option déplace les entrées de cache ayant expiré de la mémoire vers le disque pour permettre les accès futurs. Pour plus d'informations sur l'activation du déchargement sur disque, reportez-vous à la rubrique Configuration du déchargement sur disque de la mémoire cache dynamique.

Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdyn_enablecache
Nom du fichier : tdyn_enablecache.html