Magento 2 Handbuch

5. Wie funktionieren Cache-Management und Index-Verwaltung in Magento 2?

Werden Änderungen in der Konfiguration, an Stores, am Katalog oder an anderen Stellen in einem Magento 2 Shop vorgenommen, müssen oftmals Caches und Index-Tabellen neu aufgebaut werden. Dazu gibt es wie bisher zwei getrennte Bereiche im Admin-Panel. Allerdings wurden sowohl das Cache-Management als auch die Index-Verwaltung mit dem Sprung von Magento 1.9 auf Magento 2.0 verändert und vereinfacht.

5.1 Cache-Management in Magento 2

Die Verwaltungsoberfläche für das Cache-Management ist in Magento 2 über System > Tools > Cache Management zu erreichen – oder falls oben im Admin-Panel eine aktuelle Nachricht zur Cache-Verwaltung eingeblendet wird, durch einen Klick auf den darin enthaltenen Link.

5. Wie funktionieren Cache-Management und Index-Verwaltung in Magento 2?

Auf der Seite Cache Management werden für jeden Cache neben einer kurzen Beschreibung sein Status ("ENABLED" – aktiviert, “DISABLED” – deaktiviert oder “INVALIDATED” – veraltet) und der ihm zugeordnete Tag angezeigt. Mit den großen Buttons oben rechts kann der Magento Cache (Flush Magento Cache) beziehungsweise die gesamte Cache Sicherung (Flush Cache Storage) geleert werden. Unten auf der Seite finden sich im Bereich Additional Cache Management weitere Buttons zum Leeren der Caches für die Produktbilder (Flush Catalog Images Cache), das komprimierte JavaScript/CSS (Flush JavaScript/CSS Cache) beziehungsweise statisch vorgenerierte View-Dateien (Flush Static Files Cache).

Nachdem ein Cache geleert wurde, muss immer das Browserfenster aktualisiert werden (mit den Tasten STRG+F5) um sicherzustellen, dass die aktuellsten Dateien angezeigt werden.

5. Wie funktionieren Cache-Management und Index-Verwaltung in Magento 2?

5.1.1 Einzelne Caches leeren

Um in Magento 2 gezielt eine oder mehrere Cache-Arten zu leeren, können die gewünschten Caches durch das Markieren der jeweiligen Checkbox links ausgewählt und dann im oberen Bereich nach dem Auswählen der Aktion "Refresh" durch einen Klick auf den Button Submit geleert werden.

5. Wie funktionieren Cache-Management und Index-Verwaltung in Magento 2?

Danach muss im Browserfenster oder -Tab das Frontend mit der Tastenkombination STRG+F5 aktualisiert werden, damit die neue Version auch tatsächlich angezeigt wird.

5.1.2 Caches stapelweise leeren

Wenn sehr viele oder alle Caches geleert werden sollen, können über ein in der Tabellenzelle ganz links oben verstecktes Dropdown-Menü mit einem Klick alle oder alle sichtbaren Caches ausgewählt (oder wieder abgewählt) werden. Danach wird wieder die Aktion "Refresh" gewählt und über den Button Submit ausgelöst.

5. Wie funktionieren Cache-Management und Index-Verwaltung in Magento 2?

Danach muss im Browserfenster oder -Tab das Frontend mit der Tastenkombination STRG+F5 aktualisiert werden, damit die neue Version auch tatsächlich angezeigt wird.

5.1.3 Erweiterte Cache Verwaltung

Im Bereich für die erweiterte Cache Verwaltung können zusätzliche Caches aktualisiert werden. Dafür steht jeweils ein entsprechender Button zur Verfügung.

5. Wie funktionieren Cache-Management und Index-Verwaltung in Magento 2?

5.1.3.1 Den Cache für Produktbilder leeren

Um in Magento 2 den Cache mit den Produktbildern zu löschen, muss in der Cache-Verwaltung unten im Bereich Additional Cache Management der Button Flush Catalog Images Cache betätigt werden.

Danach muss im Browserfenster oder -Tab das Frontend mit der Tastenkombination STRG+F5 aktualisiert werden, damit die neue Version auch tatsächlich angezeigt wird.

5.1.3.2 Den JavaScript/CSS Cache leeren

Das Leeren des JavaScript/CSS Caches wird im Bereich Additional Cache Management durch einen Klick auf den Button Flush JavaScript/CSS Cache ausgelöst.

Danach muss im Browserfenster oder -Tab das Frontend mit der Tastenkombination STRG+F5 aktualisiert werden, damit die neue Version auch tatsächlich angezeigt wird.

5.1.3.3 Vorgenerierte statische und View-Dateien aktualisieren

Die vorgenerierten statischen und View-Dateien können im Bereich Additional Cache Management durch einen Klick auf den Button Flush Static Files Cache aktualisiert werden.

Danach muss im Browserfenster oder -Tab das Frontend mit der Tastenkombination STRG+F5 aktualisiert werden, damit die neue Version auch tatsächlich angezeigt wird.

5.1.4 Full-Page-Cache (Varnish)

Neu in Magento 2 ist der out-of-the-box integrierte Varnish Full-Page-Cache, der das Vorhalten kompletter Seiten ermöglicht und damit für enorme Performance-Verbesserungen sorgt. Die Konfiguration ist allerdings nicht trivial und findet auch nicht in der normalen Magento Cache-Verwaltung statt. Daher wird dieses Thema an dieser Stelle auch nicht weiter ausgeführt.

5.2 Index-Verwaltung in Magento 2

Zusätzlich zu den im Dateisystem vorgehaltenen Caches nutzt Magento 2 zahlreiche Indextabellen, in denen Katalogdaten, Preise, Nutzer, Stores und vieles mehr für den schnellen Abruf in der Datenbank bereitgehalten werden. Die Daten werden über eine Reihe von Indexern in die Tabellen geschrieben und müssen bei Änderungen aktualisiert oder neu indexiert werden. Auf diese Weise ist es nicht nötig, dass Magento 2 bei jedem Aufruf eines Produkts den Preis aufwendig berechnen und dabei alle möglicherweise relevanten Preisregeln anwenden muss. Die Preise werden fertig berechnet bereitgehalten und können bei Bedarf direkt aus der entsprechenden Indextabelle geladen werden, wodurch Ladezeiten erheblich verkürzt werden können.

Bei vielen Änderungen an Elementen werden die Index-Tabellen von Magento 2 automatisch auf den neuesten Stand gebracht. Ausgelöst wird dieser Hintergrundprozess etwa bei Preisänderungen, beim Anlegen von Katalog- oder Warenkorb-Preisregeln oder beim Anlegen neuer Kategorien) und er stört den laufenden Betrieb eines Shops nicht.

Die Oberfläche für die Index-Verwaltung ist in Magento 2 über System > Tools > Index Management zu erreichen – oder falls oben im Admin-Panel eine aktuelle Nachricht zum Index-Management eingeblendet wird, durch einen Klick auf den darin enthaltenen Link indexers are invalid.

5. Wie funktionieren Cache-Management und Index-Verwaltung in Magento 2?

Das Index-Management in Magento 2 besteht aus einer Tabelle, in der die zur Verfügung stehenden Indizes aufgelistet sind. Neben einer Beschreibung werden der jeweilige Modus ("UPDATE BY SCHEDULE" – automatisch aktualisieren oder “UPDATE ON SAVE” beim Speichern aktualisieren) und der aktuelle Status (“READY” – bereit, “REINDEX REQUIRED” – Neuaufbau erforderlich, “SCHEDULED” – Neuaufbau geplant oder “RUNNING” – wird gerade neu aufgebaut) für jeden Index angezeigt.

5. Wie funktionieren Cache-Management und Index-Verwaltung in Magento 2?

5.2.1 Ändern des Index-Modus

Jeder Index, für den in der linken Tabellenspalte eine Checkbox zur Verfügung steht, kann über das Dropdown-Menü oben links eine von zwei unterschiedlchen Verfahrensweisen zugewiesen bekommen. Entweder der Index wird automatisch beim Speichern einer Änderung aktualisiert (Update on Save), oder er wird turnusmäßig über einen Cron-Job neu aufgebaut (Update by Schedule). Nachdem mindestens ein Index markiert und eine Aktion aus dem Menü gewählt wurde, erscheint oben der Button Submit zum Durchführen der Änderung.

Sehr wichtig ist hierbei, dass die Einstellung Update on Save zu Problemen führen kann, wenn mehrere Nutzer gleichzeitig im Admin-Panel arbeiten. Denn dann ist es möglich, dass mehrere Aktualisierungen derselben Index-Tabelle gleichzeitig ausgelöst werden, was zu einem sogenannten "Deadlock" führen kann, wodurch enorm hohe CPU-Lasten entstehen und MySQL-Fehler auftreten können. In einem solchen Szenario wäre es daher unbedingt zu empfehlen, alle Indizes auf Update by Schedule zu stellen.

5.2.2 Auslöser für die automatische Index-Aktualisierung

Je nach Index gibt es in Magento 2 eine ganze Reihe von Aktionen beziehungsweise "Events", die nach dem Speichern einen Neuaufbau der entsprechenden Index-Tabelle auslösen, beziehungsweise einen solchen per Cron-Job nötig machen. Hier eine knappe, nach betroffenen Indizes sortierte Übersicht:

Produktpreise (Product Prices)

  • Kundengruppe hinzufügen

  • Konfigurationseinstellungen ändern

Flat Produktdaten (Flat catalog product data)

  • Store hinzufügen

  • Store Group hinzufügen

  • Attribut hinzufügen, bearbeiten oder löschen (für Suche und Filter)

Flat Kategoriedaten (Flat catalog category data)

  • Store hinzufügen

  • Store Group hinzufügen

  • Attribut hinzufügen, bearbeiten oder löschen (für Suche und Filter)

Kategorie/Produktindex(Catalog category/product index)

  • Produkte hinzufügen, bearbeiten oder löschen (einzeln, stapelweise und Import)

  • Änderungen in Produkt-Kategorie-Relationen

  • Kategorie hinzufügen, bearbeiten oder löschen

  • Store hinzufügen oder löschen

  • Store Group löschen

  • Website löschen

Suchindex (Catalog search index)

  • Produkte hinzufügen, bearbeiten oder löschen (einzeln, stapelweise und Import)

  • Store hinzufügen oder löschen

  • Store Group löschen

  • Website löschen

Lagerbestand (Stock status index)

  • Lagerbestands-Konfigurationseinstellungen ändern

Kategorie-Berechtigungen (Category permissions index)

  • Store hinzufügen

  • Store Group hinzufügen

  • Attribut hinzufügen, bearbeiten oder löschen (für Suche und Filter)

5.2.3 Auslöser für den kompletten Neuaufbau von Indizes

Der vollständige Neuaufbau von Indizes kann – je nach Umfang des Shops – einige Zeit in Anspruch nehmen. Doch zahlreiche Änderungen am Katalog und in anderen Bereichen des Admin-Panels können durchgeführt werden, ohne gleich einen vollständigen Neuaufbau von Indizes nötig zu machen. Dazu zählen sogar so weitreichende Aktionen wie die stapelweise Verarbeitung von Produkten (via Magento Import/Export, per SQL-Query oder über andere Methoden, die direkte Änderungen an den Daten vornehmen) und Änderungen am Scope (etwa von "Global" auf “Website). Auch in diesen Fällen werden die betroffenen Index-Tabellen nicht verworfen und neu aufgebaut, sondern lediglich die betroffenen Elemente aktualisiert.

Andere Aktionen beziehungsweise "Events" machen in Magento 2 jedoch einen (automatisch durchgeführten) vollständigen Neuaufbau eines oder mehrerer Index-Tabellen durch die Indexer notwendig. Hier eine knappe, nach Indexern sortierte Übersicht:

Catalog Category Flat Indexer

  • Neuen Store anlegen

  • Neuen Store View anlegen

  • Attribut anlegen oder löschen, das

    • suchbar oder in der erweiterten Suche sichtbar,

    • filterbar,

    • in der Suche filterbar oder

    • für die Sortierung verwendet wird

  • Bestehendes Attribut zu einem der vorgenannten Modi verändern

  • Flat Kategorie Frontend-Optionen aktivieren

Catalog Product Flat Indexer

  • Neuen Store anlegen

  • Neuen Store View anlegen

  • Attribut anlegen oder löschen, das

    • suchbar oder in der erweiterten Suche sichtbar,

    • filterbar,

    • in der Suche filterbar oder

    • für die Sortierung verwendet wird

  • Bestehendes Attribut zu einem der vorgenannten Modi verändern

  • Flat Kategorie Frontend-Optionen aktivieren

Stock status indexer

Wenn eine der folgenden Lagerverwaltungsoptionen in der Systemkonfiguration (unter Stores > Configuration > Catalog) geändert wird:

  • Inventory > Stock Options: Produkte, die nicht auf Lager sind, anzeigen (Display Out of Stock Products)

  • Inventory > Product Stock Options: Lagerbestand verwalten (Manage Stock)

Price Indexer

  • Neue Produktgruppe hinzufügen

  • Wenn eine der folgenden Lagerverwaltungsoptionen in der Systemkonfiguration (unter Stores > Configuration > Catalog) geändert wird:

    • Inventory > Stock Options: Produkte, die nicht auf Lager sind, anzeigen (Display Out of Stock Products)

    • Inventory > Product Stock Options: Lagerbestand verwalten (Manage Stock)

    • Catalog > Price: Katalogpreis-Gültigkeit (Catalog Price Scope)

Category or Product Indexer

  • Store View anlegen oder löschen

  • Store löschen

  • Website löschen

5.2.4 Und was ist mit dem URL-Rewrite Index in Magento 2?

Das Index-Management in Magento 2 fällt im Vergleich zu den Vorgängerversionen deutlich benutzerfreundlicher und ressourcenschonender aus. Die Anwender von Magento 1.x bekamen es vor allem immer dann mit Performanceproblemen zu tun, wenn der Index mit den URL-Rewrites neu aufgebaut werden musste. Damit ist es in Magento 2 glücklicherweise vorbei, denn den entsprechenden Index gibt es gar nicht mehr. Die URL-Rewrites können aber wie bisher in einer Tabelle verwaltet werden. Diese ist nun unter Marketing > SEO & Search > URL Rewrites zu finden.

 4. Kapitel: Attributverwaltung6. Kapitel: Bestellabwicklung 

Magento 2 jetzt live testen!

In unserem Live-Demoshop können Sie Magento 2 sofort und kostenlos testen!

Das Magento 2 Handbuch als Paperback

Wer das Magento 2 Handbuch als Paperback haben möchte, kann es über diesen Link bei Amazon bestellen:

Magento 2 Handbuch. Paperback, 468 Seiten (ISBN 978-3741228155)