Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Para pontos de extremidade REST, você pode influenciar como o DAB (Construtor de API de Dados) usa seu cache de resultados de consulta interno com o cabeçalho da solicitação Cache-Control .
Importante
Se o cache estiver desabilitado na configuração de runtime, essas diretivas serão ignoradas e as consultas serão executadas normalmente.
Valores de Cache-Control com suporte
| Value | Comportamento |
|---|---|
no-cache |
Força o DAB a ignorar caches L1 e L2, buscar novos dados do banco de dados e atualizar os caches com o novo resultado. |
no-store |
Informa ao DAB para não armazenar em cache a resposta (não armazena em L1 ou L2 e não tenta buscar do cache). |
Comportamento
- A correspondência de diretivas não diferencia maiúsculas de minúsculas.
- O DAB não interpreta outras diretivas padrão
Cache-Control, como a idade máxima ou o máximo obsoleto. - Aplica-se somente às operações de consulta REST. Não usado para diretivas de cache no nível de solicitação do GraphQL.
- Os valores de cabeçalho HTTP de solicitação Cache-Control controlam o cache L1 e L2.
Observação
O DAB não define cabeçalhos de resposta de controle de cache para qualquer operação de cache.
Diretiva: sem cache
Força uma nova leitura e atualiza as camadas de cache.
Solicitação
GET /api/Books
Cache-Control: no-cache
Accept: application/json
Resposta (exemplo)
HTTP/1.1 200 OK
Content-Type: application/json
[
{ "id": 1, "title": "The Hobbit" },
{ "id": 2, "title": "The Silmarillion" }
]
Efeito: o cache agora contém esse novo resultado (sujeito a TTL configurado).
Diretiva: sem repositório
Usa um valor armazenado em cache existente, se presente; caso contrário, consulta o banco de dados, mas não preenche (ou atualiza) o cache com o novo resultado.
Solicitação
GET /api/Books
Cache-Control: no-store
Accept: application/json
Resposta (exemplo)
HTTP/1.1 200 OK
Content-Type: application/json
[
{ "id": 1, "title": "The Hobbit" },
{ "id": 2, "title": "The Silmarillion" }
]
Efeito: se esse resultado ainda não tiver sido armazenado em cache, ele não será armazenado. Uma solicitação posterior only-if-cached poderá falhar se nenhuma solicitação anterior preenchesse o cache.
Review
- Use
no-cachequando precisar forçar uma atualização do banco de dados e também atualizar o cache. - Use
no-storequando quiser os dados, mas não quiser que essa resposta altere o cache (embora ele possa ler um valor armazenado em cache existente). - Omita o cabeçalho para o comportamento normal de cache.