Symfony

Cache e Desempenho

Cache pools, adapters, tags, invalidação de cache, HTTP cache, ESI, integração com Varnish

20 perguntas de entrevista·
Mid-Level
1

Qual interface o Symfony usa para implementar o sistema de cache PSR-6?

Resposta

O Symfony implementa o padrão PSR-6 através da CacheItemPoolInterface. Essa interface define os métodos getItem(), hasItem(), deleteItem(), save() e clear() para gerenciar os itens de cache. O componente Cache do Symfony fornece vários adapters (Redis, Memcached, Filesystem, etc.) que implementam todos essa interface, garantindo interoperabilidade com outras bibliotecas PHP compatíveis com PSR-6.

2

Qual é o adapter de cache padrão configurado no Symfony para o ambiente de desenvolvimento?

Resposta

No ambiente de desenvolvimento, o Symfony usa por padrão o ArrayAdapter, que armazena o cache em memória. Esse cache não é persistente entre requisições, o que é ideal para o desenvolvimento, pois evita problemas de cache obsoleto ao modificar o código. Em produção, é recomendado usar um adapter persistente como Redis ou Memcached para obter melhor desempenho.

3

Como criar um cache pool personalizado na configuração do Symfony?

Resposta

Os cache pools personalizados são definidos sob a chave framework.cache.pools na configuração. Cada pool pode especificar seu adapter, seu tempo de vida padrão (default_lifetime) e, opcionalmente, tags. Por exemplo, um pool 'app.cache.products' com RedisAdapter permite gerenciar o cache de produtos de forma independente dos demais dados, facilitando a invalidação direcionada.

4

Qual método usar para recuperar um valor do cache com um callback de cálculo caso esteja ausente?

5

Qual é a principal vantagem dos cache tags no Symfony?

+17 perguntas de entrevista

Domine Symfony para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis