Wer etwas tiefer in den Magento Cache einsteigt, stößt irgendwann auf X-Magento-Tags. Magento ordnet damit einer gecachten Antwort die Inhalte zu, die an ihrer Entstehung beteiligt waren, beispielsweise Produkte, Kategorien oder CMS Seiten.

Typische Cache Tags sehen beispielsweise so aus:

Der Aufbau ist dabei recht simpel: Der vordere Teil beschreibt den Typ der Entität, die Zahl dahinter ist normalerweise deren Entity ID. cat_p_123 steht also für das Produkt mit der ID 123, cat_c_42 für die Kategorie mit der ID 42 und cms_p_5 für die CMS Seite mit der ID 5.

Magento definiert diese Präfixe direkt an den jeweiligen Entitäten, beim Produkt zum Beispiel über cat_p. Die konkrete ID wird anschließend angehängt, sodass ein eindeutiger Cache Tag entsteht.

Wird anschließend beispielsweise Produkt 123 geändert, kann Magento gezielt Cache Einträge mit cat_p_123 ungültig machen, anstatt jedes Mal den kompletten Full Page Cache zu verwerfen. Bei Varnish werden diese Informationen zusammen mit dem gecachten Objekt verwendet, damit später genau die betroffenen Inhalte entfernt werden können.

Die Tags entstehen unter anderem über Magentos IdentityInterface und dessen Methode getIdentities(). Auch eigene Blöcke und Module können darüber festlegen, von welchen Daten ihr gecachter Inhalt abhängig ist.

Auch bei cachebaren GraphQL Abfragen verwendet Magento diese Cache Tags, damit beispielsweise Produkt, Kategorie oder CMS Daten gezielt invalidiert werden können.

Fehlen solche Abhängigkeiten bei einer individuellen Entwicklung oder sind sie falsch gesetzt, kann ein besonders unangenehmer Fehler entstehen: Der Cache funktioniert, liefert nach einer Änderung aber weiterhin veraltete Inhalte aus.

Was bedeutet X-Magento-Tags?
Sie benötigen Unterstützung bei der Umsetzung dieser Lösung oder Sie haben die passende Lösung für Ihr Magento Problem noch nicht gefunden? Kontaktieren Sie mich und ich helfe Ihnen bei Ihrem Magento Projekt!
Schlagwörter: