Cache leeren
Prüfen Sie als Template-Entwickler oder Administrator, ob Ihre Änderungen korrekt im OXID eShop angezeigt werden.
Änderungen an Templates, Konfigurationen oder Modulen werden oft erst nach dem Leeren des Caches korrekt im Shop übernommen. Deshalb ist das Leeren des Caches erforderlich.
Mit dem OXID Admintools-Modul stehen Ihnen dazu zwei komplementäre Zugriffswege zur Verfügung:
Manuell: Über eine Schaltfläche im Admin-Backend – einfach und ohne Kommandozeile
Über die OXAPI: Als Remotezugriff per GraphQL-basierter API
Löschen Sie gezielt nur das, was für die aktuelle Aufgabe notwendig ist, ohne andere Systeme zu beeinträchtigen.
Beachten Sie, dass der Shop mit leeren Caches langsamer reagieren kann, bis die Caches wieder aufgefüllt sind.
Cache-Bereich |
Aktion |
Use Case (wann löschen?) |
---|---|---|
Template-Cache |
Entfernt kompilierte Twig-Template-Dateien. |
Nach Änderungen an |
Interner Cache |
Leert den internen Cache-Mechanismus des OXID eShops. |
Nach Änderungen an Konfigurationen oder Sprachdateien. |
Container-Cache |
Leert den Cache des Dependency-Injection-Containers (basiert auf Symfony). |
Nach Änderungen am Dependency-Injection-Setup, z. B. neuen Services oder Events. |
Module-Caches |
Leert Caches, die mit installierten Modulen zusammenhängen. |
Nach Änderung eines Moduls (bei Aktivierung oder Deaktivierung eines Moduls wird der Module-Cache automatisch geleert). |
Gesamter Cache |
Führt einen vollständigen Cache-Reset durch (kombiniert alle oben genannten Caches). |
Bei schwerwiegenden Fehlern oder nach größeren Updates. |
Cache manuell leeren
Leeren Sie einzelne Caches oder alle Caches des OXID eShops manuell.
Vorgehen
Wählen Sie
.Legen Sie fest, ob Sie den gesamten Cache oder einzelne Bereiche löschen wollen (Abb.: Cache leeren, Pos. 1).
Wählen Sie die Schaltfläche Leeren.

Abb.: Cache leeren
Resultat
Es erscheint eine Meldung, dass das Leeren des Caches über die Shop-Logik angestoßen wurde (Abb.: Cache leeren: Resultat, Pos. 1).
Note
Das System prüft nicht, ob der Cache tatsächlich geleert ist.
Sollte die Meldung „Cache-Leerung fehlgeschlagen“ erscheinen, versuchen Sie das Leeren des Caches erneut anzustoßen. Besteht das Problem weiterhin, suchen Sie nach der Ursache. Sollte ein Modul oder eine andere Komponente verantwortlich sein, geben Sie Rückmeldung an den OXID Support oder das Produktmarketing. Verbesserungsvorschläge sind willkommen.

Abb.: Cache leeren: Resultat
Cache per OXAPI leeren
Leeren Sie automatisch einzelne Caches oder alle Caches des OXID eShops über die OXAPI (GraphQL API).
Voraussetzungen
Um Caches über die GraphQL-API zu leeren, ist der Benutzer authentifiziert und hat die erforderlichen Berechtigungen:
Der Autorisierungs-Header mit Bearer-Token enthält einen gültige OXAPI-JWT-Token, der die nötigen Rechte hat.
Der Benutzer ist Mitglied der Benutzergruppe
gqladmintoolscache
.
Vorgehen
Stellen Sie sicher, dass Sie eine kompatible Version von oxid-esales/graphql-base installiert haben.
Installieren Sie z. B. die 11.x-Version mit folgenden Befehlen:
composer require oxid-esales/graphql-base ^11.0.0 ./vendor/bin/oe-eshop-doctrine_migration migrations:migrate oe_graphql_base ./vendor/bin/oe-console oe:module:activate oe_graphql_base
Implementieren Sie die folgenden GraphQL-Abfragen:
Query
Funktion
clearTemplateCache
Leert den Template-bezogenen Cache.
clearInternalCache
Leert den internen System-Cache.
clearContainerCache
Leert den Cache des DI-Containers (Symfony).
clearModuleCaches
Leert die Caches installierter Module.
clearCaches
Leert alle oben genannten Caches gleichzeitig.
Beispiel
Mit folgender GraphQL-Abfrage leeren Sie alle Caches:
query {
clearCaches
}