Du siehst Dir gerade den Artikel zu einer älteren Shopware Version an!
Bitte beachte, dass sich dieser Artikel nur an die Nutzer eines self-hosted Shops wendet. Für Nutzer einer Shopware 6 SaaS-Umgebung ist dies nicht relevant.
Im Modul Caches & Indizes hast Du die Möglichkeit, den Cache zu leeren und aufzuwärmen. Außerdem erhältst Du eine Übersicht zu einigen System-Konfigurationen.
In der Übersicht erhältst Du die Information, ob Dein Shop im Produktiv-Modus eingesetzt wird. Dies wird durch den Eintrag "Production" beim Punkt Umgebung (1) angezeigt.
Außerdem kannst Du hier erkennen, ob der HTTP-Cache aktiv (2) ist und welcher Cache-Adapter (3) verwendet wird.
Den Umgebungsmodus und den HTTP-Cache kannst Du in der .env-Datei im Shopware-Hauptverzeichnis anpassen.
Weitere Informationen, wie Du die Umgebungseinstellungen anpassen kannst, findest Du hier.
Der HTTP-Cache wird über den Eintrag
SHOPWARE_HTTP_CACHE_ENABLED=1
aktiviert. (=0) deaktiviert den Cache.
Im unteren Bereich des Moduls hast Du verschiedene Funktionen für den Cache und die Indizes.
php bin/console cache:clear
Indizes aktualisieren (6)
Aktualisiert die Indizes wie die Kategorie- und Produktindizes sowie die SEO-URLs.
In der Konsole kann dies über den Befehl
php bin/console dal:refresh:index
erfolgen.Indizes | Bedeutung |
category.indexer | Erstellt einen Index für die Kategorien |
- category.child-count | Erstellt einen Index über die Anzahl der Subkategorien |
- category.tree | Erstellt einen Index |
- category.breadcrumb | Erstellt einen Index vom Kategoriebaum, um den Navigationspfad (Breadcrumb) darzustellen |
- category.seo-url | Erstellt einen Index über die SEO-URLs der Kategorien |
customer.indexer | Erstellt einen Suchindex über alle Kundeneinträge |
- customer.many-to-many-id-field | Ist ein unterstützender Task um die Verbindungen der Tabellen herzustellen |
landing_page.indexer | Erstellt einen Index über alle Landingpages |
- landing_page.many-to-many-id-field | Ist ein unterstützender Task um die Verbindungen der Tabellen herzustellen |
- landing_page.seo-url | Erstellt einen Index über die SEO-URLs der Landingpages |
media.indexer | Erstellt einen Index zu den Mediendateien |
- media_folder.indexer | Erstellt einen Index zu den Medienordnern |
- media_folder.child-count | Ermittelt die Anzahl der Unterverzeichnisse im Medienordner |
media_folder_configuration.indexer | Aktualisiert die Vererbung innerhalb der Medienordner |
payment_method.indexer | Erstellt einen Index über die Zahlungsarten |
product.indexer | Erstellt einen Index zu allen Produkten |
- product.inheritance | Aktualisiert die Vererbung zwischen den Hauptprodukten und Varianten |
- product.stock | Indiziert die verfügbare Lagermenge der Produkte |
- product.variant-listing | Erstellt einen Index über alle Varianten der Produkte |
- product.child-count | Zählt die Anzahl der Varianten |
- product.many-to-many-id-field | Ist ein unterstützender Task um die Verbindungen der Tabellen herzustellen |
- product.category-denormalizer | Löst gespeicherte Verbindungen der Produktzuweisungen zu Kategorien, die nicht mehr verwendet werden. |
- product.cheapest-price | Ermittelt die günstigsten Produkte |
- product.rating-averaget | Erstellt einen Mittelwert über die Bewertungspunkte der Produktbewertungen |
- product.stream | Erstellt die Produktlisten aus den Dynamischen Produktgruppen |
- product.search-keyword | Erstellt eine Liste der Suchbegriffe aus allen Produkten |
- product.seo-url | Erstellt eine Liste der SEO-URLs der Produkte |
product_stream.indexer | Erstellt einen Index über die Dynamischen Produktgruppen |
product_stream_mapping.indexer | Erstellt einen Index über die Zuweisungen der Dynamischen Produktgruppen zu Kategorien sowie Aktionen und Rules. |
promotion.indexer | Erstellt einen Index über alle Rabatte & Aktionen |
- promotion.exclusion | Erstellt einen Index über die Ausschlüsse der Rabatte (Nicht kombinierbar mit …) |
- promotion.redemption | Erstellt einen Index zu bereits verwendeten Rabatten durch Kunden. |
rule.indexer | Erstellt einen Index zu den eingetragenen Rules des Rule Builders |
- rule.payload | Erstellt einen Index zu den eingestellten Bedingungen der Rules |
sales_channel.indexer | Erstellt einen Index über alle Verkaufskanäle |
- sales_channel.many-to-many | Ist ein unterstützender Task um die Verbindungen der Tabellen herzustellen |
flow.indexer | Erstellt einen Index für die vorhandenen Flows |
newsletter_recipient.indexer | Erstellt einen Index über die eingetragenen Newsletter-Empfänger |
Im Shopware 6 Standard wird der Cache nicht automatisiert geleert. Das kann auf Dauer dazu führen, dass die Shopinstallation immer größer wird und immer mehr Speicher auf dem Server benötigt.
Um den Cache des Shops manuell zu leeren, kannst Du die Shopware CLI benutzen. Wie Du die Shopware CLI benutzen kannst, findest Du auch hier.
Um Deinen Cache zu leeren, kannst Du dann folgenden Befehl in der Shopware CLI benutzen:
php bin/console cache:clear
Auf einem Livesystem empfehlen wir nach an einem Cache löschen, diesen auch wieder aufzuwärmen. Den Cache kannst Du mit folgendem Befehl aufwärmen:
php bin/console http:cache:warm:up
Damit diese Befehle nicht in regelmäßigen Abständen manuell ausgeführt werden müssen, empfehlen wir diese per Cronjob einmal täglich ausführen zu lassen. Dies sollte dann ausgeführt werden, wenn der Traffic auf dem Shop am geringsten ist. Dies kann dann beispielsweise immer Nachts erfolgen. Wie Du einen regelmäßigen Cronjob beispielsweise auf einem Linux Server einrichten lassen kannst, erfährst Du hier.
Sollte sich der Cache nicht über den Shopware CLI Befehl löschen lassen, kannst Du versuchen, mit folgendem Befehl die Cache-Ordner manuell zu löschen:
rm -rf SHOPWARE-ROOT-VERZEICHNIS/var/cache/*
Der Cache in Shopware 6 speichert Daten mit dem Zweck, zukünftige Anfragen zu beschleunigen. Grundsätzlich können die in einem Cache gespeicherten Daten das Ergebnis einer früheren Interaktion mit Websites sein. Bei einem Shopware 6-Index handelt es sich um eine Liste von Daten, die in einem einfachen Textformat gespeichert sind. In den meisten Fällen stellen Indizes eine Gruppe von Dateien oder Datenbankeinträgen dar, die schnell von einem Suchalgorithmus durchsucht werden. Folglich werden Such- und Sortiervorgänge erheblich verbessert und somit eine neue Leistung erreicht.