Symfony

Cache y Rendimiento

Cache pools, adapters, tags, invalidación de cache, HTTP cache, ESI, integración con Varnish

20 preguntas de entrevista·
Mid-Level
1

¿Qué interfaz usa Symfony para implementar el sistema de cache PSR-6?

Respuesta

Symfony implementa el estándar PSR-6 a través de CacheItemPoolInterface. Esta interfaz define los métodos getItem(), hasItem(), deleteItem(), save() y clear() para gestionar los elementos de cache. El componente Cache de Symfony proporciona varios adapters (Redis, Memcached, Filesystem, etc.) que implementan todos esta interfaz, garantizando la interoperabilidad con otras bibliotecas PHP compatibles con PSR-6.

2

¿Cuál es el adapter de cache predeterminado configurado en Symfony para el entorno de desarrollo?

Respuesta

En el entorno de desarrollo, Symfony usa por defecto el ArrayAdapter, que almacena el cache en memoria. Este cache no es persistente entre peticiones, lo que es ideal para el desarrollo ya que evita problemas de cache obsoleto al modificar el código. En producción, se recomienda usar un adapter persistente como Redis o Memcached para obtener un mejor rendimiento.

3

¿Cómo crear un cache pool personalizado en la configuración de Symfony?

Respuesta

Los cache pools personalizados se definen bajo la clave framework.cache.pools en la configuración. Cada pool puede especificar su adapter, su tiempo de vida por defecto (default_lifetime) y, opcionalmente, tags. Por ejemplo, un pool 'app.cache.products' con RedisAdapter permite gestionar el cache de productos de forma independiente de los demás datos, facilitando la invalidación selectiva.

4

¿Qué método usar para recuperar un valor del cache con un callback de cálculo si está ausente?

5

¿Cuál es la principal ventaja de los cache tags en Symfony?

+17 preguntas de entrevista

Domina Symfony para tu próxima entrevista

Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.

Empieza gratis