Django

Caching di Django

Backend di cache, cache per vista, cache dei frammenti di template, API di cache di basso livello, invalidazione della cache

20 domande da colloquio·
Mid-Level
1

Qual è il backend di cache predefinito in Django se non viene specificata alcuna configurazione?

Risposta

Django utilizza per impostazione predefinita il backend 'LocMemCache' (cache in memoria locale) che memorizza i dati nella memoria del processo Python. Questo backend è semplice e veloce ma non persiste tra i riavvii del server e non condivide i dati tra processi diversi. È adatto allo sviluppo ma non consigliato per ambienti di produzione multi-processo.

2

Quale decoratore dovrebbe essere usato per memorizzare nella cache la risposta completa di una vista per 15 minuti?

Risposta

Il decoratore cache_page di django.views.decorators.cache memorizza nella cache la risposta HTTP completa di una vista. Il parametro è il tempo in secondi (15 minuti = 900 secondi). La chiave di cache viene generata automaticamente dall'URL e dai parametri della query. Questo decoratore gestisce anche le intestazioni HTTP appropriate per la cache.

3

Qual è la sintassi corretta del template tag per memorizzare nella cache un frammento di template per 5 minuti?

Risposta

Il tag {% cache %} memorizza nella cache un frammento di template. La sintassi è {% cache timeout cache_name %}...{% endcache %}. Il primo argomento è il tempo in secondi (300 per 5 minuti), il secondo è un nome univoco per identificare questo frammento. È possibile aggiungere argomenti aggiuntivi per variare la cache (ad es. user.id).

4

Come recuperare un valore dalla cache con un valore predefinito se la chiave non esiste?

5

Quale backend di cache è consigliato per un'applicazione Django in produzione con più istanze?

+17 domande da colloquio

Padroneggia Django per il tuo prossimo colloquio

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

Inizia gratis