Symfony

Cache e prestazioni

Cache pool, adapter, tag, invalidazione della cache, HTTP cache, ESI, integrazione con Varnish

20 domande da colloquio·
Mid-Level
1

Quale interfaccia usa Symfony per implementare il sistema di cache PSR-6?

Risposta

Symfony implementa lo standard PSR-6 tramite CacheItemPoolInterface. Questa interfaccia definisce i metodi getItem(), hasItem(), deleteItem(), save() e clear() per gestire gli elementi della cache. Il componente Cache di Symfony fornisce diversi adapter (Redis, Memcached, Filesystem, ecc.) che implementano tutti questa interfaccia, garantendo l'interoperabilità con altre librerie PHP compatibili con PSR-6.

2

Qual è l'adapter di cache predefinito configurato in Symfony per l'ambiente di sviluppo?

Risposta

Nell'ambiente di sviluppo, Symfony usa per impostazione predefinita l'ArrayAdapter, che memorizza la cache in memoria. Questa cache non è persistente tra le richieste, il che è ideale per lo sviluppo poiché evita problemi di cache obsoleta quando si modifica il codice. In produzione, si consiglia di usare un adapter persistente come Redis o Memcached per prestazioni migliori.

3

Come creare un cache pool personalizzato nella configurazione di Symfony?

Risposta

I cache pool personalizzati si definiscono sotto la chiave framework.cache.pools nella configurazione. Ogni pool può specificare il suo adapter, la durata di vita predefinita (default_lifetime) e, facoltativamente, tag. Ad esempio, un pool 'app.cache.products' con RedisAdapter permette di gestire la cache dei prodotti in modo indipendente dagli altri dati, facilitando l'invalidazione mirata.

4

Quale metodo usare per recuperare un valore dalla cache con un callback di calcolo se assente?

5

Qual è il principale vantaggio dei cache tag in Symfony?

+17 domande da colloquio

Padroneggia Symfony per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis