
Cache & Performance
Cache pools, adapters, tags, cache invalidation, HTTP cache, ESI, Varnish integration
1Quelle interface Symfony utilise-t-elle pour implémenter le système de cache PSR-6 ?
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.
2Quel est l'adapter de cache par défaut configuré dans Symfony pour l'environnement de développement ?
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.
3Comment créer un cache pool personnalisé dans la configuration Symfony ?
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.
Quelle méthode utiliser pour récupérer une valeur du cache avec un callback de calcul si absente ?
Quel est l'avantage principal des cache tags dans Symfony ?
+17 questions d'entretien
Autres sujets d'entretien Symfony
PHP Moderne (8.1+)
Les bases de Symfony
Routing & Controllers
Twig & Templates
Doctrine ORM - Les bases
Formulaires Symfony
Validation de données
Dependency Injection & Services
Security & Authentication
Doctrine avancé
API Platform
Serializer Component
Events & Event Subscribers
Console & Commands
Messenger Component
HTTP Client
Workflow Component
Testing Symfony
Mailer Component
Translations & i18n
EasyAdmin Bundle
Architecture Symfony
Performance & Optimisation
Sécurité avancée
Custom Bundles
Microservices avec Symfony
Real-time & WebSockets
Deployment & DevOps
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