Redis in Shopware 6: Vollständiger Konfigurationsleitfaden für schnelleren E-Commerce
Wenn Ihr Shopware 6 Shop aufgrund des Datenverkehrs auf Datenbankengpässe stößt, ist Redis die Lösung. Keine Teillösung, sondern eine grundlegende Lösung. Dieser Leitfaden überspringt die Grundlagen und geht direkt auf das Wesentliche ein: Redis richtig konfigurieren, Daten nach Typ trennen und die häufigen Fehler vermeiden, die die Leistung in der Produktion beeinträchtigen.
Warum Redis über den Standard-Cache von Shopware?
Shopware 6 wird standardmäßig mit einem dateibasierten Cache ausgeliefert. Bei wenig Verkehr funktioniert es gut. Sobald Sie Produktkatalog-Renderings, Sitzungsladevorgänge und Warenkorbvorgänge gleichzeitig vorantreiben, wird dateibasierter E/A zu Ihrem Engpass.
Redis speichert alles im Speicher, weshalb es in der Moderne eine entscheidende Rolle spielt Shopware 6 Performance-Optimierung. Ein Cache-Lesevorgang, der normalerweise dauert 20 bis 80 Millisekunden von der Festplatte sinkt auf unter 1 Millisekunde, wenn sie über Redis bereitgestellt wird. Bei einem geschäftigen Geschäft verstärkt sich dieser Unterschied bei jeder Anfrage und verbessert direkt die Seitenladegeschwindigkeit, die Reaktionsfähigkeit beim Bezahlvorgang und das allgemeine Benutzererlebnis.
Für jeden Shopware Entwicklungsunternehmen oder Shopware Development Agency, dies verbessert direkt die Leistung bei hohem Traffic, Werbeaktionen und B2B-Komplexität.
Redis ermöglicht auch die Kontrolle über das Caching. Mit den richtigen Shopware Development Services und Shopware Development Solutions können Sie entscheiden, was gespeichert wird, wie lange es bleibt und wie der Speicher verwaltet wird.
Deshalb viele Shopware 6 Entwickler Verwenden Sie Redis anstelle des Standard-Dateicaches, da es eine bessere Kontrolle bietet und das Wachstum zuverlässiger bewältigt.
Der Teil, den die meisten Leitfäden übersehen: Datentyptrennung
Die meisten Redis Tutorials für Shopware behandeln alle Daten gleich. Das ist falsch und wird letztendlich zu echten Problemen führen.
Shopware Stores 3 grundlegend unterschiedliche Arten von Daten in Redis, und jeder benötigt eine andere Handhabung:
1) Ephemerer Cache (HTTP-Cache, Objekt-Cache)
Diese Daten können schnell wiederhergestellt werden. Wenn Redis es entfernt, entsteht kein Schaden. Stellen Sie Ihre Räumungsrichtlinie auf volatile-lru ein und lassen Sie sich darüber nicht den Schlaf brechen.
2) Sitzungsdaten
Dazu gehören Benutzeranmeldungen, laufende Warenkörbe und Checkout-Sitzungen.
Wenn diese Daten verschwinden, scheiden Nutzer aus und es gehen Umsätze verloren.
3) Kritische Daten – Warenkörbe, Schlosslager, Nummernkreise
- Daten, die nicht verloren gehen dürfen (z. B. Warenkörbe, Sperrspeicher, inkrementelle Daten).
- Beharrlichkeit ist gefragt; Daten sollten niemals gelöscht werden, es sei denn, sie sind abgelaufen.
- Empfohlene Löschrichtlinie: volatile-lru (entfernt nur abgelaufene Daten).
So integrieren Sie Redis in Shopware 6 Schritt-für-Schritt-Anleitung
Schritt 1: Installieren Sie Redis auf Ihrem Server
Stellen Sie sicher, dass Redis auf Ihrem Shopware Server installiert ist. Wenn nicht, installieren Sie es mit:
sudo apt update
sudo apt install redis-server
sudo systemctl start redis
sudo systemctl enable redis
##Verify:
redis-cli ping
<--Expected output--->
PONG
Schritt 2: Redis in Shopware 6 konfigurieren
Stellen Sie sicher, dass Redis auf Ihrem Shopware Server installiert ist. Wenn nicht, installieren Sie es mit:
Bearbeiten Sie die .env-Datei, um Redis für das Caching zu aktivieren:
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
SHOPWARE_HTTP_CACHE_ENABLED=1
SHOPWARE_HTTP_DEFAULT_TTL=7200
Schritt 3: Aktivieren Sie Redis für Caching
Stellen Sie sicher, dass Redis auf Ihrem Shopware Server installiert ist. Wenn nicht, installieren Sie es mit:
Ändern config/packages/shopware.yaml So legen Sie Redis als Cache-Handler fest:
shopware:
cache:
enabled: true
type: redis
redis:
host: 'redis://127.0.0.1:6379'
Schritt 4: Redis für die Sitzungsspeicherung verwenden (optional)
Um Benutzersitzungen in Redis zu speichern, aktualisieren Sie .env:
SHOPWARE_SESSION_STORAGE="redis"
Dies verbessert die Sitzungsverwaltung und beschleunigt die Benutzeranmeldung.
Schritt 5: Verwenden Sie separate Redis Instanzen für verschiedene Datentypen
Ab Shopware v6.6.8.0 können mehrere Redis Verbindungen konfiguriert werden, um unterschiedliche Workloads zu optimieren.
Bearbeiten Sie config/packages/shopware.yaml:
yaml
CopyEdit
shopware:
redis:
connections:
cache:
dsn: 'redis://127.0.0.1:6379/0' # Ephemeral cache
session:
dsn: 'redis://127.0.0.1:6379/1' # User session data
critical:
dsn: 'redis://127.0.0.1:637
Schritt 6: Verwenden Sie Verbindungspooling für hohen Datenverkehr
Um den Aufwand für den Aufbau neuer Verbindungen für jede Anfrage zu reduzieren, aktivieren Sie dauerhafte Verbindungen:
yaml
CopyEdit
shopware:
redis:
connections:
cache:
dsn: 'redis://127.0.0.1:6379/0' # Ephemeral cache
session:
dsn: 'redis://127.0.0.1:6379/1' # User session data
critical:
dsn: 'redis://127.0.0.1:637
Schritt 7: Cache leeren und aufwärmen
Aktualisieren Sie nach der Konfiguration von Redis den Cache mit:
bash
bin/console cache:clear
bin/console cache:warmup
redis-cli monitor
##Check if Redis is being used:
bash
redis-cli monitor
Schritt 8: Dienste neu starten
Starten Sie sowohl Shopware als auch Redis neu:
sudo systemctl restart redis-server
php bin/console cache:clear
Überprüfung der Redis Integration
Um zu bestätigen, dass Redis Daten zwischenspeichert, führen Sie Folgendes aus:
redis-cli --scan --pattern "*"
Häufige Fehler, die Sie beim Hinzufügen von Redis zu Shopware 6 vermeiden sollten
Eine einzelne Redis Instanz für alles, was für die Entwicklung gut und in der Produktion gefährlich ist. Sitzungsdaten, die neben dem flüchtigen Cache liegen, können bei Speicherdruck gelöscht werden.
Falsche Räumungspolitik – Die Verwendung von Noeviction für eine Cache-Instanz führt dazu, dass Redis Schreibvorgänge ablehnt, wenn der Speicher voll ist, was Ihre Storefront zerstört. Verwenden Sie für jeden Datentyp die richtige Richtlinie, wie oben beschrieben.
Keine Persistenz auf Sitzungs-/Warenkorbinstanzen – Ein ungeplanter Redis Neustart ohne AOF- oder RDB-Snapshots löscht Sitzungen und Warenkörbe. Richten Sie dies vor dem Go-Live ein, nicht danach.
Ignorieren von Speichergrenzen – Legen Sie maxmemory explizit in Ihrer Redis Konfiguration fest. Ohne sie verbraucht Redis den gesamten verfügbaren RAM, bevor die Räumung eintritt.
Was ist mit Shopware Message Queue + Redis?
Eine einzelne Redis Instanz für alles, was für die Entwicklung gut und in der Produktion gefährlich ist. Sitzungsdaten, die neben dem flüchtigen Cache liegen, können bei Speicherdruck gelöscht werden.
Redis kann als Backend für den Warteschlangentransport dienen und diesen vollständig von MySQL entlasten. Konfigurieren Sie es in config/packages/messenger.yaml:
framework:
messenger:
transports:
async:
dsn: 'redis://127.0.0.1:6379/3'
Suchen Sie einen Shopware 6 Entwickler?
Ihr Shopware Shop sollte schnell, skalierbar und zuverlässig sein. Lassen Sie Ihr Setup von Experten überprüfen und Ihnen genau zeigen, wo Sie Leistungseinbußen hinnehmen.
Warum sollten Sie iCreative Technologies als Ihren Shopware 6 Entwicklungsservice-Partner wählen?
iCreativeTechnologies verfügt über ein Team von zertifizierte Shopware 6 Entwickler Mit Sitz in den USA und Indien arbeiten wir über Zeitzonen hinweg, damit Ihre Projekte ohne Verzögerungen umgesetzt werden. Ganz gleich, ob Sie einen engagierten Entwickler für ein langfristiges Engagement, einen Shopware Entwicklungspartner für den Aufbau von Grund auf oder einen Experten für die Prüfung und Reparatur eines bestehenden Shops benötigen – das Team ist darauf vorbereitet.
Was macht iCreative Technologies zu einer vertrauenswürdigen Shopware 6 Agentur?
- Über 10 Jahre praktische Shopware Entwicklungsexpertise
- Umfangreiches Fachwissen in Shopware Support, Erweiterungen, Apps und Theme-Anpassung
- Hochwertige Arbeit zu angemessenen Shopware Entwicklungskosten
- Durchgängige Shopware Entwicklungskompetenz
- Offizielle Shopware Partneragentur
- Shopware Support rund um die Uhr für Ihre Website
FAQs – Shopware 6 Redis
Redis wird als In-Memory-Caching-Schicht verwendet, um Datenbankabfragen zu reduzieren und die Speicherleistung zu beschleunigen. In Shopware 6 verwaltet es Cache, Sitzungen und kritische Laufzeitdaten, um Ladezeiten und Skalierbarkeit zu verbessern.
Ja, Shopware 6 verfügt über integrierte Unterstützung für Redis als Cache- und Session-Backend. Es kann über .env und shopware.yaml ohne Drittanbieter-Plugins konfiguriert werden.
Ein richtig konfiguriertes Redis Setup kann die Datenbanklast um 30–70 % reduzieren und die Seitengeschwindigkeit deutlich verbessern, insbesondere bei Produktlisten, Warenkorbvorgängen und Checkout-Prozessen.
Redis sollte Folgendes speichern:
- Cache (temporäre Daten)
- Benutzersitzungen
- Warenkorb- und Transaktionsdaten
Jeder Typ sollte isoliert werden, um Leistungskonflikte zu vermeiden.
Die grundlegende Einrichtung ist einfach, aber eine produktionstaugliche Optimierung erfordert Fachwissen. Ein professionelles Shopware Entwicklungsunternehmen oder eine Shopware Entwicklungsagentur stellt sicher, dass Redis korrekt in Ihre vollständige Leistungsarchitektur integriert ist.