Symfony

Cache & Performance

Cache pools, adapters, tags, cache invalidation, HTTP cache, ESI, Varnish integration

20 questions d'entretien·
Confirmé
1

Quelle interface Symfony utilise-t-elle pour implémenter le système de cache PSR-6 ?

Réponse

Symfony implémente le standard PSR-6 via l'interface CacheItemPoolInterface. Cette interface définit les méthodes getItem(), hasItem(), deleteItem(), save() et clear() pour gérer les éléments de cache. Le composant Cache de Symfony fournit plusieurs adapters (Redis, Memcached, Filesystem, etc.) qui implémentent tous cette interface, garantissant une interopérabilité avec d'autres bibliothèques PHP compatibles PSR-6.

2

Quel est l'adapter de cache par défaut configuré dans Symfony pour l'environnement de développement ?

Réponse

En environnement de développement, Symfony utilise par défaut l'adapter ArrayAdapter qui stocke le cache en mémoire. Ce cache n'est pas persistant entre les requêtes, ce qui est idéal pour le développement car il évite les problèmes de cache obsolète lors des modifications de code. En production, il est recommandé d'utiliser un adapter persistant comme Redis ou Memcached pour de meilleures performances.

3

Comment créer un cache pool personnalisé dans la configuration Symfony ?

Réponse

Les cache pools personnalisés se définissent sous la clé framework.cache.pools dans la configuration. Chaque pool peut spécifier son adapter, sa durée de vie par défaut (default_lifetime), et éventuellement des tags. Par exemple, un pool 'app.cache.products' avec RedisAdapter permet de gérer le cache des produits indépendamment des autres données, facilitant l'invalidation ciblée.

4

Quelle méthode utiliser pour récupérer une valeur du cache avec un callback de calcul si absente ?

5

Quel est l'avantage principal des cache tags dans Symfony ?

+17 questions d'entretien

Maîtrise Symfony pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement