Hallo zusammen,
wir kämpfen aktuell mit einem Problem, das sicher auch andere betrifft:
Setup:
- Shopware 6.6.10.2
- Caching über Redis + Varnish
- HTTP-Cache aktiv (
SHOPWARE_HTTP_CACHE_ENABLED = 1
) - Varnish korrekt eingebunden (
SHOPWARE_HTTP_CACHE_VARNISH_ENABLED = 1
) - Dynamische Produktgruppen werden in Kategorien eingebunden (Standardfunktion)
Problem:
Wird eine dynamische Produktregel verändert, werden:
- Im Backend die betroffenen Produkte korrekt neu gezählt
- Im Frontend bleiben alte Produktlisten im Cache sichtbar
Cache-Invalidierung geschieht nicht automatisch, obwohl:
- Redis Keys (u. a.
product_stream_result_*
,cms-page-*
,category_listing_*
) manuell gelöscht werden können - Varnish per
X-Cache-Tags
undX-Key
korrekt mitläuft EntityWrittenContainerEvent
fürproduct_stream
abgefangen wird
Behelf:
Ein manueller redis-cli FLUSHALL
hilft – aber das ist natürlich keine Option im Livebetrieb.
Bisherige Maßnahmen:
- Eigenes Plugin mit Subscriber:
- Invalidierung der relevanten Redis-Keys (inkl. CMS-Resolver)
- Purge von Varnish-Caches über X-Key
- Logging zeigt: Events werden korrekt verarbeitet
- Problem bleibt bestehen – selbst wenn alle bekannten Keys gelöscht sind
Fragen an die Community:
- Gibt es Shopware-konforme Wege, den Frontend-Cache bei Änderungen an dynamischen Produktgruppen vollständig zu invalidieren?
- Welche zusätzlichen Mechanismen müssen evtl. berücksichtigt werden (z. B. SalesChannelContext, PageResolver, Feature Flags)?
- Gibt es offizielle Empfehlungen seitens Shopware zur Kombination Redis + Varnish + dynamische Produktgruppen?
Vielen Dank für jeden Hinweis!
Wir sind für jeden echten Lösungsansatz dankbar