
Buforowanie w Django
Backendy cache, cache na poziomie widoku, cache fragmentów szablonu, niskopoziomowe API cache, unieważnianie cache
1Jaki jest domyślny backend cache w Django, jeśli nie określono żadnej konfiguracji?
Jaki jest domyślny backend cache w Django, jeśli nie określono żadnej konfiguracji?
Odpowiedź
Django domyślnie używa backendu 'LocMemCache' (cache w pamięci lokalnej), który przechowuje dane w pamięci procesu Pythona. Ten backend jest prosty i szybki, ale nie utrzymuje się między ponownymi uruchomieniami serwera i nie współdzieli danych między różnymi procesami. Nadaje się do programowania, ale nie jest zalecany w wieloprocesowych środowiskach produkcyjnych.
2Którego dekoratora należy użyć, aby zbuforować pełną odpowiedź widoku na 15 minut?
Którego dekoratora należy użyć, aby zbuforować pełną odpowiedź widoku na 15 minut?
Odpowiedź
Dekorator cache_page z django.views.decorators.cache buforuje pełną odpowiedź HTTP widoku. Parametrem jest czas w sekundach (15 minut = 900 sekund). Klucz cache jest generowany automatycznie z adresu URL i parametrów zapytania. Ten dekorator obsługuje również odpowiednie nagłówki HTTP dla buforowania.
3Jaka jest poprawna składnia template tagu do buforowania fragmentu szablonu na 5 minut?
Jaka jest poprawna składnia template tagu do buforowania fragmentu szablonu na 5 minut?
Odpowiedź
Tag {% cache %} buforuje fragment szablonu. Składnia to {% cache timeout cache_name %}...{% endcache %}. Pierwszy argument to czas w sekundach (300 dla 5 minut), drugi to unikalna nazwa identyfikująca ten fragment. Można dodać dodatkowe argumenty, aby zróżnicować cache (np. user.id).
Jak pobrać wartość z cache z wartością domyślną, jeśli klucz nie istnieje?
Który backend cache jest zalecany dla aplikacji Django w produkcji z wieloma instancjami?
+17 pytań z rozmów
Inne tematy rekrutacyjne Django
Podstawy Pythona
Python obiektowy
Podstawy Django
Models Django - Podstawy
Widoki Django
Szablony Django
Formularze Django
Zaawansowane QuerySets
Uwierzytelnianie w Django
Middleware Django
Django Admin
Django REST Framework
Sygnały Django
Przesyłanie plików
Sesje Django
Email w Django
Testowanie w Django
Bezpieczeństwo Django
Wdrażanie Django
Zaawansowany Django ORM
Wydajność Django
Django & Celery
Django Channels
Django & GraphQL
Django & Docker
Django w ekosystemie mikroserwisów
Niestandardowe komendy Django
Internacjonalizacja w Django
Wzorce projektowe w Django
Django Async i ASGI
Settings i konfiguracja produkcyjna
Observability i monitoring
Opanuj Django na następną rozmowę
Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.
Zacznij za darmo