AEM Dispatcher Cache-Invalidierung mit statfileslevel und gracePeriod

Wenn Sie Adobe Experience Manager (AEM) Dispatcher mit statfileslevel und gracePeriod konfigurieren, ist eine explizite Cache-Leerung für Auflistungsseiten im Allgemeinen nicht erforderlich, wenn sich die Auflistung und der aktualisierte Inhalt im selben .stat Dateibereich befinden. Überprüfen Sie, ob Ihre statfileslevel-Einstellung erfüllt ist, um zu bestätigen, dass beide beachtet werden.

Beschreibung description

Symptome

Der Kunde fragt, ob eine explizite Cache-Leerung (Invalidierungstyp INVALIDATE) für die Auflistung von Seiten erforderlich ist, nachdem der Inhalt mit Typ ADD aktualisiert wurde. Bei /publishfarm/cache/statfileslevel "2" und /publishfarm/cache/gracePeriod "2" werden die Listenseiten anscheinend ohne aktualisiert.

Schritte zur Reproduktion

  1. Konfigurieren von /publishfarm/cache/statfileslevel "2" und /publishfarm/cache/gracePeriod "2".
  2. Invalidierung einer Datei unter .stat mit dem Typ ADD. Das Änderungsdatum der .stat-Datei wird aktualisiert.
  3. Fordern Sie eine Datei an, die innerhalb von 2 Sekunden /invalidate/../type "allow". Ergebnis: actionhit, Cache unverändert.
  4. Fordern Sie sie nach 2 Sekunden erneut an. Ergebnis: actionmiss, Cache aktualisiert.

Ursache

ADD aktualisiert den Zeitstempel der .stat. Dateien, die mit allow Regeln übereinstimmen, werden erst dann als ungültig behandelt, wenn seit diesem Zeitstempel gracePeriod sind. Wenn der aktualisierte Inhalt und die Auflistungsseite denselben .stat aufweisen, wird die Auflistung durch denselben Mechanismus ungültig, sodass eine separate INVALIDATE nicht erforderlich ist.

Lösung resolution

Gehen Sie wie folgt vor, um das Problem zu beheben:

  1. Verstehen Sie das statfileslevel- und gracePeriod: Wenn die invalidate.cache ausgelöst wird (z. B. durch die Veröffentlichung einer Seite), erstellt oder aktualisiert Dispatcher die .stat-Datei am konfigurierten statfileslevel.
  2. Bei der nächsten Anfrage für eine zwischengespeicherte Seite vergleicht Dispatcher die Zeitstempel der .stat und der zwischengespeicherten Datei. Wenn die .stat Datei neuer ist, wird der Cache ungültig gemacht und der Inhalt wird aus der Veröffentlichungsinstanz abgerufen.
  3. Die gracePeriod (z. B. 2 Sekunden) verzögert die Cache-Invalidierung für die angegebene Dauer, nachdem die .stat aktualisiert wurde. Anfragen innerhalb des gracePeriod geben den zwischengespeicherten Inhalt zurück (actionhit). Nach dem gracePeriod wird der Cache ungültig (actionmiss).
  4. Wenn Ihre Konfigurations-Trigger beim Veröffentlichen einer Seite invalidate.cache und sich sowohl der aktualisierte Inhalt als auch seine Auflistung im selben .stat Dateibereich befinden, ist eine explizite Cache-Leerung für die Auflistungsseite im Allgemeinen nicht erforderlich. Der Eintrag wird nach dem gracePeriod automatisch ungültig gemacht.
  5. Stellen Sie sicher, dass die statfileslevel sowohl den aktualisierten Inhalt als auch die Auflistungsseite unter derselben .stat abdeckt.
  6. Überwachen Sie Protokolle auf Edge-Fälle, in denen invalidate.cache kontinuierlich ausgelöst wird, da sich der Zeitpunkt der Cache-Invalidierung verschieben kann. Passen Sie gracePeriod nach Bedarf an.

Stellen Sie sicher, dass die Cache-Invalidierung nach der gracePeriod erwartungsgemäß erfolgt und dass keine expliziten INVALIDATE erforderlich sind, um Seiten aufzulisten, die sich im selben .stat-Dateibereich befinden.

Verwandtes Lesen

recommendation-more-help
experience-cloud-kcs-help-kbarticles