Shopware HTTP Cache mit Redis

Shopware speichert im Standard den HTTP Cache auf dem Dateisystem. Bei einer hohen Zugriffszahl des Shops kann dieses Verhalten zu Performance-Probleme führen. Abhilfe schafft hier der Linux basierte In-Memory Dienst Redis.


Vorbereitung in Shopware

Zunächst muss für den Server ein Redis-Server zur Verfügung gestellt werden. Dieser kann entweder lokal auf dem App-Server oder extern z.B. via einem Accelerator-Server eingerichtet werden. Mehr Informationen zu unseren Accelerator-Servern finden Sie hier: https://www.creoline.com/server/redis/



Konfiguration über die Shopware Umgebungskonfiguration

Erstellen Sie eine neue Konfigurationsdatei unter dem Pfad: config/packages/framework.yaml. Mithilfe dieser Konfigurationsdatei kann der HTTP Cache konfiguriert werden. Fügen Sie anschließend folgenden Inhalt in die Datei ein:

framework:
    cache:
        default_redis_provider: 'redis://%env(REDIS_HOST)%:%env(REDIS_PORT)%'
        pools:
            cache.http:
                adapter: cache.adapter.redis_tag_aware
                provider: 'redis://%env(REDIS_HOST)%:%env(REDIS_PORT)%/%env(REDIS_DB_HTTP_CACHE)%'
                tags: cache.tags


In dieser Konfigurationsdatei werden folgende Umgebungsvariablen genutzt:

Variable Beschreibung
REDIS_HOST Hostname oder IP-Adresse zum Redis-Server
REDIS_PORT TCP-Port für Redis Verbindungen (Standard: 6379)
REDIS_DB_HTTP_CACHE Redis-Datenbank für den HTTP Cache


Die hier verwendeten Variablen müssen anschließend in der Umgebungskonfiguration .env.local von Shopware hinzugefügt werden. Öffnen Sie hierzu die .env.local Datei im Shopware Root-Verzeichnis und ergänzen Sie folgenden Teil in der bestehenden Konfiguration:

# .env.local

# [...]

# HTTP Cache Configuration
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
REDIS_DB_HTTP_CACHE=2


Speichern Sie die Datei anschließend und leeren Sie den Shopware Cache über die Konsole:

bin/console cache:clear


Anschließend wird der Redis-Server zur Verwaltung des HTTP Caches genutzt.



Shopware stellt in der offiziellen Dokumentation weitere Informationen und Adapter bereit.

Zur Shopware Dokumentation →