Django

Django Caching

Cache-backends, cache per view, template-fragmentcache, low-level cache-API, cache-invalidatie

20 gespreksvragen·
Mid-Level
1

Wat is de standaard cache-backend in Django als er geen configuratie is opgegeven?

Antwoord

Django gebruikt standaard de 'LocMemCache'-backend (lokale geheugencache) die gegevens opslaat in het geheugen van het Python-proces. Deze backend is eenvoudig en snel, maar blijft niet behouden tussen serverherstarts en deelt geen gegevens tussen verschillende processen. Het is geschikt voor ontwikkeling, maar niet aanbevolen voor productieomgevingen met meerdere processen.

2

Welke decorator moet worden gebruikt om de volledige respons van een view 15 minuten te cachen?

Antwoord

De decorator cache_page uit django.views.decorators.cache cachet de volledige HTTP-respons van een view. De parameter is de tijd in seconden (15 minuten = 900 seconden). De cachesleutel wordt automatisch gegenereerd op basis van de URL en queryparameters. Deze decorator beheert ook de juiste HTTP-headers voor caching.

3

Wat is de juiste syntaxis van de template tag om een template-fragment 5 minuten te cachen?

Antwoord

De tag {% cache %} cachet een template-fragment. De syntaxis is {% cache timeout cache_name %}...{% endcache %}. Het eerste argument is de tijd in seconden (300 voor 5 minuten), het tweede is een unieke naam om dit fragment te identificeren. Er kunnen extra argumenten worden toegevoegd om de cache te variëren (bijv. user.id).

4

Hoe haal je een waarde uit de cache met een standaardwaarde als de sleutel niet bestaat?

5

Welke cache-backend wordt aanbevolen voor een Django-applicatie in productie met meerdere instances?

+17 gespreksvragen

Beheers Django voor je volgende gesprek

Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.

Begin gratis