Wprowadzenie
P2Lab Cache to plugin do Shopware 6, który zapisuje kompletne odpowiedzi HTML dla cache’owalnych tras storefrontu i serwuje je przy kolejnych żądaniach. Zamiast przebudowywać stronę główną, stronę produktu czy listing kategorii dla każdego odwiedzającego, Twój sklep zwraca gotową odpowiedź w milisekundach — odciążając serwer i poprawiając percepcję szybkości strony.
Plugin jest sprzedawany w sklepie Shopware jako Speed Boost, ale wewnętrznie identyfikowany jest nazwą techniczną P2LabCache.
Co robi
Dział zatytułowany „Co robi”- Cache pełnych stron — przechwytuje i serwuje output HTML Shopware dla home, nawigacji, produktów, CMS i async buybox
- Inteligentna inwalidacja na poziomie pól — gdy produkt lub kategoria się zmienia, czyszczone są tylko wpisy cache, które zależały od zmienionego pola
- Trzy backendy storage — Filesystem (domyślny), Redis (klastrowy), APCu (in-memory)
- Wewnętrzna kompresja — opcjonalny gzip zapisanych payloadów oszczędza dysk lub pamięć
- Integracja z reverse proxy — purge Varnisha przez xkey z trzema strategiami (Default / Precise / Smart), blocklistą tagów, splitowaniem i skracaniem
- Cache warming — nagrzewanie sterowane kolejką, które wcześniej wypełnia wszystkie cache’owalne URL-e po deployach lub pełnym czyszczeniu
- Moduł admin — dashboard ze statystykami, szybkie czyszczenie, wykresy per typ, log inwalidacji, log reverse proxy i historia warmupów
- REST API + CLI — automatyzacja czyszczenia i nagrzewania ze skryptów deploya
Każda zapisana strona śledzi swój oryginalny rozmiar, rozmiar po kompresji, czas generowania i czas obsługi cache HIT, więc dashboard pokazuje prawdziwe liczby — całkowita oszczędność miejsca, średnia szybkość HIT itd.
Dla kogo
Dział zatytułowany „Dla kogo”- Właściciele sklepów prowadzący średnie i duże katalogi Shopware 6, którzy odczuwają opóźnienie generowania stron przy skokach ruchu
- Zespoły DevOps uruchamiające Shopware za Varnishem, którzy chcą purgów na poziomie pól zamiast szerokiej inwalidacji
- Agencje standaryzujące konfigurację cache na wielu sklepach
Czego potrzebujesz
Dział zatytułowany „Czego potrzebujesz”- Shopware 6.6 (
composer.jsonpluginu wymuszashopware/corena>=6.6 <6.7; wersja dla 6.7 jest dystrybuowana osobno) - Działający worker async (
bin/console messenger:consume async) — wymagany do nagrzewania cache i kilku ścieżek inwalidacji - W zależności od wybranego backendu:
- Filesystem — miejsce na dysku pod
var/cache/(lub gdziekolwiek jest Twój Symfony cache dir) - Redis — działający Redis i DSN typu
redis://host:6379 - APCu — rozszerzenie PHP
apcuzainstalowane i włączone (tylko single-server)
- Filesystem — miejsce na dysku pod
- (Opcjonalnie) Varnish z załadowanym vmodem
xkey, jeśli chcesz purgów przez reverse proxy
Czym różni się od wbudowanego HTTP cache Shopware
Dział zatytułowany „Czym różni się od wbudowanego HTTP cache Shopware”Shopware 6 ma wbudowany Symfony HttpCache, który już zapisuje odpowiedzi i inwaliduje je po tagach. P2Lab Cache zastępuje domyślny cache store własną implementacją i dodaje:
- Tryb Smart inwalidacji, który sprawdza, które pola encji faktycznie się zmieniły i mapuje je do minimalnego zbioru tagów
- Kompresję zapisanego payloadu (Shopware zapisuje raw)
- Statystyki per typ cache — count, rozmiar, oszczędność miejsca, średni czas HIT vs MISS
- Czyszczenie per typ (clear all product pages, all listings, all CMS, …) zamiast wszystko-albo-nic
- Cache warming sterowany kolejką
- Warstwę purge Varnisha ze świadomym pól generowaniem tagów, blocklistą i splittowaniem nagłówków
Jeśli już używasz Varnisha lub CDN, zostają — P2Lab Cache leży na wierzchu.