Configuration du cache de données HCL Commerce

Le cache de données HCL Commerce est activé par défaut. Vous pouvez configurer le cache à l'aide de l'une des deux méthodes de configuration possibles : mise en cache d'instructions ou définition d'objets DistributedMap. Pour obtenir de meilleures performances, utilisez la configuration de la mémoire cache d'objets DistributedMap. La configuration de la mise en cache de commandes est fournie pour la compatibilité avec les versions antérieures seulement.

Si vous utilisez la mise en cache d'instructions, vous pouvez sélectionner les données à mettre en cache. Vous pouvez affiner la configuration en changeant les attributs d'élément <cache-entry>, tels que <priority>, <timeout> et <inactivity>. Pour plus d'informations, voir cachespec.xml.

Vous pouvez configurer le cache de données HCL Commerce pour qu'il utilise les caches d'objets DistributedMap, en définissant des caches d'objets spéciaux nommés dans le fichier cacheinstances.properties.

Certaines caches d'objets DistributedMap sont définies automatiquement lors de l'installation. Pour afficher ces caches d'objets, ouvrez WebSphere Application Server Integrated Solutions Console, et dans le menu de gauche, cliquez sur Ressources > Instances de cache > Instances de cache d'objet.

Procédure

  • Mise en cache d'instructions
    1. Ouvrez l'exemple de fichier de configuration de cache, cachespec.xml, qui se trouve dans le répertoire suivant :
      • WCDE_installdir\samples\dynacache\
    2. Copiez les éléments <cache-entry> de l'exemple de fichier de configuration de cache vers le fichier cachespec.xml qui se trouve dans le répertoire suivant :
      • workspace_dir\Stores\WebContent\WEB-INF\
    Si des balises d'entrée de cache sont déjà définies dans le fichier cachespec.xml, de votre magasin, vous avez peut-être besoin de mesurer le débit, l'utilisation d'UC et l'utilisation de la mémoire, et d'ajuster les balises priority, timeout et inactivity pour obtenir les meilleures performances.
  • L'utilisation de la mise en cache d'objets dans les instances DistributedMap spécifiées entraîne la mise en cache de chaque type de données dans l'objet DistributedMap qui lui correspond.
    Lorsque vous utilisez cette méthode, les configurations dans le fichier cachespec.xml ne sont pas utilisées pour les types de données pour lesquels une instance DistributedMap correspondante est définie. Vous ne pouvez affiner les attributs priority, timeout ou inactivity en utilisant le fichier de configuration cachespec.xml. Toutefois, vous pouvez indiquer d'autres attributs DistributedMap, tels que le nombre maximal d'entrées de cache à utiliser pour chaque DistributedMap. Pour plus d'informations sur le format du fichier cacheinstances.properties, voir Using the DistributedMap and DistributedObjectCache interfaces for the dynamic cache.

    Il existe deux méthodes permettant de définir des objets DistributedMap :

    1. Définissez des objets DistributedMap à l'aide des noms JNDI par défaut situés dans le fichier cacheinstances.properties qui se trouve dans le répertoire suivant :
      • WCDE_installdir\samples\dynacache\
      Vous pouvez copier et coller le contenu sélectionné du fichier samples\dynacache\cacheinstances.properties dans votre fichier cacheinstances.properties personnalisé dans le répertoire Stores.war\WEB-INF\classes.
    2. Utilisez WebSphere Application Server Integrated Solutions Console. Dans le menu de gauche, cliquez sur Ressources > Instances de cache > Instances de cache d'objet.

    Dans un environnement en cluster, assurez-vous que le domaine de réplication est défini, et au moins le cache d'objets services/cache/WCSessionDistributedMapCache est défini. Tous les caches d'objets doivent permettre la réplication de cache (notShared replicationType 1) pour permettre aux ID d'invalidation d'être envoyés à tous les nœuds du domaine de réplication. Sinon, les identifiants d'invalidation ne sont pas envoyés à tous les noeuds dans le domaine de réplication, ce qui entraîne des résultats incorrects en raison de données obsolètes dans certaines instances de la mémoire cache. Veillez à définir le domaine de réplication et un type de réplication valide. Le type de réplication "non partagé" est recommandé.

  • Les instances de cache d'objet définies dans le fichier cacheinstances.properties définissent les propriétés correspondantes pour chaque instance de cache.
    Nom de la propriété Valeur
    cache.instance.n.cacheSize Commencez par la taille dans le modèle de fichier cacheinstances.properties.
    cache.instance.n.enableDiskOffload Commencez par "false". Mesurez l'impact sur les performances avant de modifier ce paramètre. Spécifiez la valeur "true" pour les instances de cache qui contiennent des données persistantes, applicables à de nombreux clients. Toutefois, pour des raisons de performances et de confidentialité, il est déconseillé de décharger des données relatives aux utilisateurs sur le disque.
    cache.instance.n.flushToDiskOnStop Commencez par "false".
    cache.instance.n.disableDependencyId false
    cache.instance.n.useListenerContext false
    cache.instance.n.filterLRUInvalidation true
    cache.instance.n.filterTimeOutInvalidation true
    cache.instance.n.filterInactivityInvalidation true
    cache.instance.n.disableTemplatesSupport true
    cache.instance.n.ignoreValueInInvalidationEvent true
    cache.instance.n.useServerClassLoader true
  • Configurez un cache d'objet en vue d'utiliser le fournisseur de services WebSphere eXtreme Scale.
    Les instances de cache d'objet définies dans le fichier cacheinstances.properties définissent les propriétés correspondantes pour chaque instance de cache.
    Nom de la propriété Valeur
    cache.instance.n.enableDiskOffload false
    cache.instance.n.flushToDiskOnStop false
    cache.instance.n.disableDependencyId false
    cache.instance.n.useListenerContext false
    cache.instance.n.enableCacheReplication true
    cache.instance.n.replicationType 1
    cache.instance.n.filterLRUInvalidation true
    cache.instance.n.filterTimeOutInvalidation true
    cache.instance.n.filterInactivityInvalidation true
    cache.instance.n.disableTemplatesSupport true
    cache.instance.n.ignoreValueInInvalidationEvent true
    cache.instance.n.useServerClassLoader true
    cache.instance.n.cacheProviderName com.ibm.ws.objectgrid.dynacache.CacheProviderImpl
    cache.instance.n.com.ibm.websphere.xs.dynacache.topology remote
    Remarque :
    • La propriété personnalisée cache.instance.n.com.ibm.websphere.xs.dynacache.topology est requise uniquement pour eXtreme Scale inférieur à la version 8.6.
    • La propriété personnalisée cache.instance.n.com.ibm.websphere.xs.dynacache.disable_recursive_invalidate ne doit pas être utilisée avec WebSphere eXtreme Scale 8.6. Si vous utilisez cette propriété personnalisée, des quantités excessives de messages d'avertissement sont enregistrées dans le fichier journal de SystemOut.log. Pour plus d'informations sur cette question, voir l'APAR n° .
    • Le moniteur de mémoire cache par défaut ne peut pas afficher le contenu des instances de la mémoire cache d'objets. Pour afficher le contenu d'une instance de mémoire cache d'objets, installez IBM Extended Cache Monitor pour IBM WebSphere Application Server. Pour plus d'informations sur ce moniteur ou pour le télécharger, voir la documentation IBM developerWorks :