Django

Cache do Django

Backends de cache, cache por view, cache de fragmentos de template, API de cache de baixo nível, invalidação de cache

20 perguntas de entrevista·
Mid-Level
1

Qual é o backend de cache padrão no Django se nenhuma configuração for especificada?

Resposta

O Django usa por padrão o backend 'LocMemCache' (cache em memória local) que armazena os dados na memória do processo Python. Esse backend é simples e rápido, mas não persiste entre reinicializações do servidor e não compartilha dados entre processos diferentes. É adequado para desenvolvimento, mas não recomendado para ambientes de produção com múltiplos processos.

2

Qual decorador deve ser usado para armazenar em cache a resposta completa de uma view por 15 minutos?

Resposta

O decorador cache_page de django.views.decorators.cache armazena em cache a resposta HTTP completa de uma view. O parâmetro é o tempo em segundos (15 minutos = 900 segundos). A chave de cache é gerada automaticamente a partir da URL e dos parâmetros da requisição. Esse decorador também gerencia os cabeçalhos HTTP apropriados para cache.

3

Qual é a sintaxe correta da template tag para armazenar em cache um fragmento de template por 5 minutos?

Resposta

A tag {% cache %} armazena em cache um fragmento de template. A sintaxe é {% cache timeout cache_name %}...{% endcache %}. O primeiro argumento é o tempo em segundos (300 para 5 minutos), o segundo é um nome único para identificar esse fragmento. Argumentos adicionais podem ser adicionados para variar o cache (por exemplo, user.id).

4

Como recuperar um valor do cache com um valor padrão se a chave não existir?

5

Qual backend de cache é recomendado para uma aplicação Django em produção com várias instâncias?

+17 perguntas de entrevista

Domine Django para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis