Shopware 6 und Redis verbinden
Jeder Besucher Ihres Onlineshops erzeugt eine Session in der nutzerspezifische Daten gespeichert werden, zum Beispiel zuletzt angesehene Produkte, ein Merkzettel oder der Warenkorb. Standardmäßig speichert Shopware jede Session als Einzeldatei in der MySQL-Datenbank auf der Festplatte. Mehr Besucher im Shop generieren also auch mehr Datenbankzugriffe für das Speichern und Auslesen der jeweiligen Session. Das schmälert die Shop-Performance.
Redis, kurz für Remote Dictionary Server, arbeitet anders. Als In-Memory und NoSQL-Datenbank speichert sie die Sessions im deutlich schnelleren Arbeitsspeicher und in regelmäßigen Abständen als Backup auch noch einmal auf die Festplatte. Die Anfragen werden über Redis hierbei schneller verarbeitet, da diese direkt aus dem Arbeitsspeicher ausgeliefert werden können. Außerdem werden abgelaufene Sessions selbstständig durch Redis gelöscht.
Für Kunden unserer Managed vServer, Managed Server und ScaleServer ist Redis auf dem Server bereits vorinstalliert. Für die Timme Cloud 2.0 ist die Datenbank optional zubuchbar.
Möchten Sie Redis mit Shopware 6 nutzen, zeigen wir Ihnen in der nachfolgenden Anleitung wie Sie beides verbinden.
Diese Anleitung bezieht sich auf die Shopware-Versionen 6.4.0 bis 6.4.10.
Voraussetzungen
Redis Instanz mit 2 Datenbanken anlegen
Damit Shopware seinen Cache und die Session Daten in Redis ablegen kann, müssen Sie in Ihrem Server Control Panel eine Redis Instanz mit zwei Datenbanken erstellen. Das genaue Vorgehen können Sie in der Anleitung neue Redis Instanz einrichten nachlesen. Die MaxMemory Policy sollte für Shopware auf 'volatile-lfu' gestellt werden.
php.ini Einstellungen anpassen
Weiterhin müssen Sie in den php.ini Einstellungen hinterlegen, dass PHP die Redis Datenbank als Session Speicher nutzt. Diese Einstellung finden Sie in ISPConfig unter Ihrer Website im Reiter "Optionen". In der Anleitung PHP Direktive hinterlegen erklären wir Ihnen diesen Schritt detailliert.