Symfony

Cache та продуктивність

Cache pools, адаптери, теги, інвалідація кешу, HTTP cache, ESI, інтеграція з Varnish

20 питань зі співбесід·
Mid-Level
1

Який інтерфейс використовує Symfony для реалізації системи кешування PSR-6?

Відповідь

Symfony реалізує стандарт PSR-6 через CacheItemPoolInterface. Цей інтерфейс визначає методи getItem(), hasItem(), deleteItem(), save() та clear() для керування елементами кешу. Компонент Cache у Symfony надає кілька адаптерів (Redis, Memcached, Filesystem тощо), які всі реалізують цей інтерфейс, забезпечуючи сумісність з іншими PHP-бібліотеками, сумісними з PSR-6.

2

Який cache adapter за замовчуванням налаштований у Symfony для середовища розробки?

Відповідь

У середовищі розробки Symfony за замовчуванням використовує ArrayAdapter, який зберігає кеш у пам'яті. Цей кеш не є постійним між запитами, що ідеально для розробки, оскільки уникає проблем із застарілим кешем під час зміни коду. У продакшені рекомендується використовувати постійний адаптер, такий як Redis або Memcached, для кращої продуктивності.

3

Як створити власний cache pool у конфігурації Symfony?

Відповідь

Власні cache pool визначаються під ключем framework.cache.pools у конфігурації. Кожен pool може вказати свій adapter, час життя за замовчуванням (default_lifetime) і, за бажанням, tags. Наприклад, pool 'app.cache.products' із RedisAdapter дозволяє керувати кешем продуктів незалежно від інших даних, спрощуючи цільову інвалідацію.

4

Який метод використовувати для отримання значення з кешу з callback для обчислення, якщо воно відсутнє?

5

Яка основна перевага cache tags у Symfony?

+17 питань зі співбесід

Опануй Symfony для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно