Redis einbinden nur mit env variablen?

Hallo,

in diesem Beitrag wird Redis nur per Environment Variablen eingebunden.

Ist das richtig so? Ich frage da in der SW6 docu es mit code in der config/packages/cache.yaml umgesetzt wird.

# .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!

Redis ist eine Alternative zum HDD bzw. Datenbank.

Was du in Redis speichern möchtest ist deine Sache. Je nach Setup empfiehlt sich nicht alles in Redis zu speichern.

Du musst aber für alle Werte die Redis-Konfiguration manuell anlegen.

Siehe bspw. hier: Increment Storage | Shopware Documentation

usw.

Ob du das alles in eine Datei packst oder in mehrere, das ist egal.