Paramètres d'expiration de la mémoire cache

Vous pouvez utiliser le paramètre "expires" dans les URL et les codes HCL Web Content Manager pour spécifier la durée de stockage des données dans la mémoire cache avant leur expiration. Lorsque des données arrivent à expiration dans la mémoire cache, lors de la demande suivante concernant ces données, ces dernières sont extraites du serveur d'origine. The expires parameter is not mandatory.

Les paramètres d'expiration personnalisée ne peuvent être utilisés que lorsque les valeurs Néant ou Mise en mémoire cache avancée sont définies pour la mémoire cache de contenu Web par défaut du serveur. Si la mise en mémoire cache de base est utilisée comme mémoire cache de contenu Web par défaut, l'expiration personnalisée ne peut pas être utilisée. Néanmoins, vous pouvez utiliser l'expiration personnalisée avec la mise en mémoire cache avancée pour déterminer la date d'expiration des données contenues dans la mémoire cache de base.

Les valeurs associées au paramètre expires peuvent représenter une période relative ou une date et une heure absolues :
Cache de base
  • EXPIRES="ABS {date and time}"
  • EXPIRES="REL {integer}{units}"
Mise en mémoire cache avancée
  • CONTENTCACHEEXPIRES="ABS {date and time}"
  • CONTENTCACHEEXPIRES="REL {integer}{units}"
Mise en cache de données
  • CONNECTORCACHEEXPIRES="ABS {date and time}"
  • CONNECTORCACHEEXPIRES="REL {integer}{units}"
Examples :
<CONNECT MOD=Web SRV=HTML ACTION=http://www.ibm.com CACHE=SITE 
EXPIRES="REL 9000s">
http://host:port/wps/wcm/connect/library/sitearea/content?cache=site&expires="REL 9000s"

Stratégies d'expiration personnalisée

  • CONNECTORCACHEEXPIRY= doit être utilisé lorsque vous définissez les paramètres d'expiration personnalisée pour l'extraction des données externes à l'aide d'une balise Connect ou d'une demande URL.
  • Si la mémoire cache de base est utilisée par défaut ou si vous spécifiez CACHE= dans une balise connect ou une demande URL, vous devez utiliser EXPIRES=.
  • Si la mémoire cache avancée est utilisée par défaut ou si vous spécifiez CONTENTCACHE= dans une balise connect ou une demande URL, vous devez utiliser CONTENTCACHEEXPIRES=.
  • Si aucune valeur par défaut n'est définie pour la mémoire cache et CACHE= ou CONTENTCACHE= est spécifié dans une balise connect ou une demande URL, la propriété connect.connector.httpconnector.defaultcacheexpires du service WCM WCMConfigService est utilisée pour l'expiration des données.

Spécification d'une date absolue

Une date absolue indique la date et l'heure d'expiration du document.

Pour indiquer une heure, utilisez le format suivant :

  • ABS{date and time}

Par exemple:

  • ABS Lundi 29 mai 2000 03:04:18 GMT

Une demande associée à ce document, envoyée après l'heure spécifiée, entraîne la suppression du document de la mémoire cache et l'extraction d'une nouvelle copie.

Lorsque vous indiquez une date d'expiration absolue, cette date doit être précédée du préfixe ABS, et la date spécifiée doit avoir l'un des formats suivants :

  • Lun, 06 Nov 2000 09:00:00 GMT
  • Lundi, 06-Nov-00 09:00:00 GMT
  • Lun Nov 6 09:00:00 2000
  • 6 Nov 2000 9:00 AM

Les trois premiers formats de date utilisent la spécification HTTP standard, alors que le dernier est un format de date simple, court et pratique.

Si vous utilisez les heures et les dates absolues pour déterminer l'expiration de données, les objets mis en mémoire cache restent en mémoire cache jusqu'à leur expiration. Une fois arrivé à expiration, l'objet d'origine est extrait lors de la demande suivante et une copie est placée dans la mémoire cache. Etant donné que la date ou l'heure absolue a déjà expiré, l'objet expire immédiatement. Autrement dit, une fois qu'il est arrivé à expiration, l'objet n'est plus remis en mémoire cache de façon définitive lorsque vous utilisez les heures et dates absolues. Toutes les valeurs absolues sont exprimées au format GMT.

Spécification d'une période relative

Plutôt que d'indiquer une heure absolue, vous pouvez utiliser une heure relative afin d'indiquer qu'un document expirera au bout d'une certaine période, après avoir été placé dans la mémoire cache, par exemple au bout d'un certain nombre d'heures ou de jours. L'heure réelle à laquelle le document expire est ensuite calculée à partir de l'heure à laquelle le document a été extrait et placé dans la mémoire cache.

Plutôt que d'indiquer une heure fixe pour l'expiration des données mises en mémoire cache, l'expiration peut être spécifiée par rapport à l'heure à laquelle les données ont été placées dans la mémoire cache, par exemple en nombre d'heures ou de jours.

Pour indiquer une heure relative, utilisez le format suivant :

  • REL {integer}{units}
Remarque : L'espace après REL est obligatoire.

L'entier indique un nombre entier d'unités de temps. Les nombres décimaux ne sont pas pris en charge. Les unités sont indiquées à l'aide d'un seul caractère ne faisant pas la distinction entre majuscules et minuscules :

  • S : Secondes
  • H : Heures
  • D : Jours
  • M : Mois
Tableau 1. Exemples de formatage
Dans une balise Connect Dans une requête URL
  • EXPIRES="REL 2M"
  • EXPIRES="REL 9000s"
  • EXPIRES=REL 2M
  • EXPIRES=REL 9000s

Le premier exemple indique une expiration après deux mois. Le deuxième exemple indique 9000 secondes (deux heures et demie).

Seuls des secondes, des heures, des jours ou des mois peuvent être indiqués. Pour simplifier l'interface, les minutes ne sont pas prises en charge (le M est utilisé pour les mois). Vous pouvez utiliser un nombre en secondes (par exemple, 300 secondes pour 5 minutes).

Mise en cache, mises à jour du contenu et syndication

Lorsqu'un élément est mis à jour, directement ou à la suite de la syndication, aucune mémoire cache n'est mise à jour. L'élément rendu est mis à jour uniquement lorsque chaque cache configuré est arrivé à expiration. Il est important de choisir des paramètres de délai d'expiration adaptés à votre stratégie de syndication.