Django

Django Caching

Cache-Backends, View-bezogenes Caching, Template-Fragment-Caching, Low-Level-Cache-API, Cache-Invalidierung

20 Interview-Fragen·
Mid-Level
1

Was ist das Standard-Cache-Backend in Django, wenn keine Konfiguration angegeben ist?

Antwort

Django verwendet standardmäßig das 'LocMemCache'-Backend (lokaler Speicher-Cache), das Daten im Speicher des Python-Prozesses ablegt. Dieses Backend ist einfach und schnell, bleibt aber zwischen Server-Neustarts nicht erhalten und teilt keine Daten zwischen verschiedenen Prozessen. Es eignet sich für die Entwicklung, wird aber für Produktionsumgebungen mit mehreren Prozessen nicht empfohlen.

2

Welcher Decorator sollte verwendet werden, um die vollständige Antwort einer View für 15 Minuten zwischenzuspeichern?

Antwort

Der Decorator cache_page aus django.views.decorators.cache speichert die vollständige HTTP-Antwort einer View zwischen. Der Parameter ist die Zeit in Sekunden (15 Minuten = 900 Sekunden). Der Cache-Schlüssel wird automatisch aus der URL und den Query-Parametern generiert. Dieser Decorator verwaltet auch die passenden HTTP-Header für das Caching.

3

Was ist die korrekte Syntax des Template-Tags, um ein Template-Fragment für 5 Minuten zwischenzuspeichern?

Antwort

Das {% cache %}-Tag speichert ein Template-Fragment zwischen. Die Syntax lautet {% cache timeout cache_name %}...{% endcache %}. Das erste Argument ist die Zeit in Sekunden (300 für 5 Minuten), das zweite ein eindeutiger Name zur Identifikation dieses Fragments. Weitere Argumente können hinzugefügt werden, um den Cache zu variieren (z. B. user.id).

4

Wie ruft man einen Wert aus dem Cache mit einem Standardwert ab, falls der Schlüssel nicht existiert?

5

Welches Cache-Backend wird für eine Django-Anwendung in der Produktion mit mehreren Instanzen empfohlen?

+17 Interview-Fragen

Meistere Django für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten