In der heutigen E-Commerce-Welt ist Geschwindigkeit alles. Ein langsamer Online-Shop führt zu frustrierten Kunden und verpassten Umsätzen. Glücklicherweise bietet Shopware 6 moderne Technologien zur Leistungssteigerung. Eine der effektivsten Methoden ist die Integration von Redis, einem leistungsstarken In-Memory-Datenspeicher.
Als Ihre Digitalagentur WLTR zeigen wir Ihnen in diesem Beitrag, wie Sie Redis für Ihren Shopware 6 Shop installieren und optimal konfigurieren, um Caching, Sessions und mehr erheblich zu beschleunigen.
Bevor wir in die Details gehen, lassen Sie uns kurz die Hauptvorteile beleuchten:
Bevor Sie starten, stellen Sie sicher, dass die folgenden Punkte erfüllt sind:
sudo apt install redis-server
unter Debian/Ubuntu oder brew install redis
unter macOS), über Docker laufen oder ein gemanagter Cloud-Service sein. Der Server muss vom Shopware-Server aus erreichbar sein (Standardport: 6379
).php-redis
muss auf Ihrem Server installiert und für die von Shopware genutzte PHP-Version aktiviert sein. Die Installation erfolgt meist über pecl install redis
oder Paketmanager (z. B. sudo apt install phpX.Y-redis
). Aktivieren Sie sie in der php.ini
(extension=redis.so
) und starten Sie PHP-FPM oder Ihren Webserver neu.Die Installation von Redis selbst variiert je nach System. Hier gängige Befehle:
sudo apt update && sudo apt install redis-server
brew install redis
Stellen Sie sicher, dass der Redis-Dienst gestartet ist (sudo systemctl start redis-server
/ sudo systemctl enable redis-server
oder via brew services start redis
).
Die beste Methode zur Konfiguration von Redis in Shopware 6 ist die Verwendung von Umgebungsvariablen in der Datei .env.local
im Hauptverzeichnis Ihres Shops. Dies hält sensible Daten aus der Codebasis fern und erleichtert die Verwaltung unterschiedlicher Umgebungen (Entwicklung, Staging, Produktion).
WICHTIG: Verwenden Sie für jeden Zweck unterschiedliche Redis-Datenbanknummern (z. B. /0
, /1
, /2
…), um Schlüsselkonflikte zu vermeiden!
Erstellen oder bearbeiten Sie die Datei .env.local
und fügen Sie die folgenden Variablen hinzu (passen Sie Host 127.0.0.1
, Port 6379
und die Datenbanknummern bei Bedarf an):
# .env.local - Beispielkonfiguration für Redis in Shopware 6
# --- Allgemeiner Anwendungs-Cache ---
# Haupt-Cache-Adapter auf Redis setzen (Doctrine, Config, etc.)
SHOPWARE_CACHE_ADAPTER=redis
# Verbindungs-DSN für den Haupt-Cache (Redis DB 0)
SHOPWARE_CACHE_REDIS_URL="redis://127.0.0.1:6379/0"
# --- HTTP Cache (Optional, für Produktion empfohlen) ---
# Shopware HTTP Cache aktivieren
SHOPWARE_HTTP_CACHE_ENABLED=1
# Standard-Gültigkeitsdauer für HTTP-Cache-Einträge (z. B. 7200s = 2 Stunden)
SHOPWARE_HTTP_DEFAULT_TTL=7200
# Optional: Explizite Redis-Konfiguration für den HTTP Cache Store.
# Falls auskommentiert, wird oft SHOPWARE_CACHE_REDIS_URL (DB 0 hier) geerbt.
# Für strikte Trennung oder andere Redis-Instanz eigene DB verwenden (z.B. /6).
# SHOPWARE_HTTP_CACHE_STORE_REDIS_URL="redis://127.0.0.1:6379/6"
# --- Session Handling ---
# Redis für die Speicherung von Benutzersitzungen verwenden
SHOPWARE_SESSION_ADAPTER=redis
# Verbindungs-DSN für Sessions (Redis DB 1)
SHOPWARE_SESSION_REDIS_URL="redis://127.0.0.1:6379/1"
# --- Doctrine Caching (Optional, für Performance empfohlen) ---
# DSN für Doctrine Metadaten-Cache (Redis DB 2)
SHOPWARE_DOCTRINE_METADATA_CACHE_URL="redis://127.0.0.1:6379/2"
# DSN für Doctrine Query-Cache (Redis DB 3)
SHOPWARE_DOCTRINE_QUERY_CACHE_URL="redis://127.0.0.1:6379/3"
# DSN für Doctrine Result-Cache (Redis DB 4) - Aktivieren bei Bedarf. Vorsicht bei Caching von Ergebnissen!
# SHOPWARE_DOCTRINE_RESULT_CACHE_URL="redis://127.0.0.1:6379/4"
# --- Symfony Messenger (Optional - Für Hintergrundaufgaben/Warteschlangen) ---
# Redis als Transport für die 'async'-Warteschlange definieren (Redis DB 5)
# Ersetzen Sie 'async', falls Ihr Haupt-Transport anders heißt.
# Für Produktion: '?auto_setup=0' hinzufügen, NACHDEM Stream & Gruppe manuell erstellt wurden!
# Beispiel: MESSENGER_TRANSPORT_DSN_async="redis://127.0.0.1:6379/5?auto_setup=0"
# Für Entwicklung: '?auto_setup=1' (oder weglassen) erlaubt Symfony das automatische Erstellen.
MESSENGER_TRANSPORT_DSN_async="redis://127.0.0.1:6379/5"
# Falls weitere Transports benötigt werden (z.B. low_priority), definieren Sie sie analog (z.B. DB 7):
# MESSENGER_TRANSPORT_DSN_low_priority="redis://127.0.0.1:6379/7"
# --- Shopware-spezifische Features (Increments, Rate Limiting) ---
# Diese werden oft in config/packages/shopware.yaml konfiguriert.
# Stellen Sie sicher, dass der 'url:' Parameter dort auf Ihre Redis-Instanz zeigt
# und idealerweise ebenfalls eine dedizierte DB verwendet (z.B. /8).
# shopware:
# increment:
# user_activity:
# type: 'redis'
# config:
# url: 'redis://127.0.0.1:6379/8' # Eigene DB nutzen!
.env.local
oder YAML-Konfigurationsdateien immer den folgenden Befehl im Shopware-Hauptverzeichnis aus: php bin/console cache:clear
MESSENGER_TRANSPORT_DSN
konfiguriert haben, stoppen und starten Sie Ihre messenger:consume
-Worker neu (z. B. via Supervisor, systemd oder manuell), damit sie die neue Konfiguration laden.var/log/
auf Verbindungsfehler.redis-cli monitor
auf Ihrem Redis-Server, um eingehende Befehle von Shopware zu beobachten (Schlüssel haben oft das Präfix sf_
).Die korrekte Integration von Redis in Shopware 6 ist ein mächtiger Hebel zur Optimierung der Ladezeiten und der allgemeinen Performance Ihres Online-Shops. Durch die Auslagerung von Caching, Sessions und optional der Message Queue auf den schnellen In-Memory-Speicher entlasten Sie Ihr System und sorgen für ein besseres Einkaufserlebnis Ihrer Kunden.
Benötigen Sie Unterstützung bei der Implementierung oder weiteren Optimierung Ihres Shopware 6 Shops? Kontaktieren Sie uns bei WLTR – Die Digitalagentur! Wir helfen Ihnen gerne, das volle Potenzial Ihres Online-Geschäfts auszuschöpfen.
In den letzten Jahren hat sich TikTok zu einer der beliebtesten Social-Media-Plattformen entwickelt, und mit…
Google dominiert den Suchmaschinenmarkt weltweit, aber wie sieht die Realität in Deutschland, der EU und…
In der sich dynamisch entwickelnden E-Commerce-Welt hat Shopware kürzlich bedeutende Änderungen für Nutzer der Community…
Die heutige digitale Welt fordert Unternehmen nicht nur eine ansprechende Website oder einen leistungsfähigen Onlineshop,…
Chancen und Risiken für Unternehmen im Digitalmarketing Künstliche Intelligenz (KI) ist in aller Munde und…
Die Auswahl an E-Commerce-Plattformen ist mittlerweile enorm. Für Unternehmen ist es jedoch entscheidend, das richtige…