Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Para pontos de extremidade REST, você pode influenciar como o Data API builder (DAB) usa seu cache de resultados de consulta interna com o cabeçalho da Cache-Control solicitação.
Importante
Se o cache estiver desabilitado na configuração de tempo de execução, essas diretivas serão ignoradas e as consultas serão executadas normalmente.
Valores de Cache-Control suportados
| Valor | Comportamento |
|---|---|
no-cache |
Força o DAB a ignorar os caches L1 e L2, buscar dados novos do banco de dados e atualizar os caches com o novo resultado. |
no-store |
Diz ao DAB para não armazenar a resposta em cache (não armazena em L1 ou L2 e não tenta buscar no 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 max-age ou max-stale. - Aplica-se somente a operações de consulta REST. Não é usado para diretivas de cache de nível de solicitação 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 nenhuma 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 mantém esse novo resultado (sujeito ao TTL configurado).
Diretiva: "não-loja"
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 pode falhar se nenhuma solicitação anterior preencher o cache.
Revisão
- 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 possa ler um valor em cache existente). - Omita o cabeçalho para o comportamento normal de cache.