Symfony

Cache i wydajność

Cache pools, adaptery, tagi, unieważnianie cache, HTTP cache, ESI, integracja z Varnish

20 pytań z rozmów·
Mid-Level
1

Którego interfejsu używa Symfony do implementacji systemu cache PSR-6?

Odpowiedź

Symfony implementuje standard PSR-6 poprzez CacheItemPoolInterface. Ten interfejs definiuje metody getItem(), hasItem(), deleteItem(), save() i clear() do zarządzania elementami cache. Komponent Cache w Symfony udostępnia kilka adapterów (Redis, Memcached, Filesystem itd.), które wszystkie implementują ten interfejs, zapewniając interoperacyjność z innymi bibliotekami PHP zgodnymi z PSR-6.

2

Jaki jest domyślny adapter cache skonfigurowany w Symfony dla środowiska deweloperskiego?

Odpowiedź

W środowisku deweloperskim Symfony domyślnie używa ArrayAdapter, który przechowuje cache w pamięci. Ten cache nie jest trwały między żądaniami, co jest idealne dla developmentu, ponieważ pozwala uniknąć problemów z nieaktualnym cache podczas modyfikacji kodu. W produkcji zaleca się użycie trwałego adaptera, takiego jak Redis lub Memcached, dla lepszej wydajności.

3

Jak utworzyć niestandardowy cache pool w konfiguracji Symfony?

Odpowiedź

Niestandardowe cache pool'e definiuje się pod kluczem framework.cache.pools w konfiguracji. Każdy pool może określić swój adapter, domyślny czas życia (default_lifetime) oraz opcjonalnie tagi. Na przykład pool 'app.cache.products' z RedisAdapter pozwala zarządzać cache produktów niezależnie od innych danych, ułatwiając ukierunkowaną inwalidację.

4

Której metody użyć, aby pobrać wartość z cache z callbackiem obliczeniowym, gdy jej brakuje?

5

Jaka jest główna zaleta cache tagów w Symfony?

+17 pytań z rozmów

Opanuj Symfony na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo