Armazenar em cache
APLICA-SE A: todas as camadas do Gerenciamento de API
A política cache-store
armazena as respostas em cache de acordo com a configuração de cache especificada. Esta política deve ser aplicada em casos nos quais o conteúdo da resposta permanece estático por um período de tempo. O cache das respostas reduz os requisitos de largura de banda e processamento exigidos do servidor Web de back-end e reduz a latência percebida pelos consumidores da API.
Observação
Esta política deve ter uma política Obter do cache correspondente.
Importante
O cache interno é volátil e compartilhado por todas as unidades na mesma região, no mesmo serviço de Gerenciamento de API.
Observação
Defina os elementos da política e os elementos filho na ordem fornecida na declaração da política. Para ajudá-lo a configurar essa política, o portal fornece um editor guiado baseado em formulário. Saiba mais sobre como definir e editar as políticas de Gerenciamento de API.
Declaração de política
<cache-store duration="seconds" cache-response="true | false" />
Atributos
Atributo | Descrição | Obrigatório | Padrão |
---|---|---|---|
duration | Vida útil das entradas armazenadas em cache, especificada em segundos. Expressões de política são permitidas. | Sim | N/D |
cache-response | Defina como true para armazenar em cache a resposta HTTP atual. Se o atributo for omitido, somente as respostas HTTP com o código de status 200 OK serão armazenadas em cache. Expressões de política são permitidas. |
Não | false |
Uso
- Seções de política: saída
- Escopos de política: global, espaço de trabalho, produto, API, operação
- Gateways: clássico, v2, consumo, auto-hospedado, espaço de trabalho
Observações de uso
- O Gerenciamento de API armazena em cache somente as respostas às solicitações HTTP GET.
- Essa política só pode ser usada uma vez em uma seção de política.
Exemplos
Exemplo com a política de pesquisa de cache correspondente
<policies>
<inbound>
<base />
<cache-lookup vary-by-developer="false" vary-by-developer-groups="false" downstream-caching-type="none" must-revalidate="true" caching-type="internal" >
<vary-by-query-parameter>version</vary-by-query-parameter>
</cache-lookup>
</inbound>
<outbound>
<cache-store duration="seconds" />
<base />
</outbound>
</policies>
Exemplo usando expressões de política
Este exemplo mostra como configurar a duração do cache de resposta do Gerenciamento de API que corresponde ao cache de resposta do serviço de back-end, conforme especificado pela diretiva Cache-Control
do serviço de backup.
<!-- The following cache policy snippets demonstrate how to control API Management response cache duration with Cache-Control headers sent by the backend service. -->
<!-- Copy this snippet into the inbound section -->
<cache-lookup vary-by-developer="false" vary-by-developer-groups="false" downstream-caching-type="public" must-revalidate="true" >
<vary-by-header>Accept</vary-by-header>
<vary-by-header>Accept-Charset</vary-by-header>
</cache-lookup>
<!-- Copy this snippet into the outbound section. Note that cache duration is set to the max-age value provided in the Cache-Control header received from the backend service or to the default value of 5 min if none is found -->
<cache-store duration="@{
var header = context.Response.Headers.GetValueOrDefault("Cache-Control","");
var maxAge = Regex.Match(header, @"max-age=(?<maxAge>\d+)").Groups["maxAge"]?.Value;
return (!string.IsNullOrEmpty(maxAge))?int.Parse(maxAge):300;
}"
/>
Para obter mais informações, veja Expressões de política e Variável de contexto.
Políticas relacionadas
Conteúdo relacionado
Para obter mais informações sobre como trabalhar com políticas, consulte:
- Tutorial: Transformar e proteger sua API
- Referência de Política para uma lista completa das instruções de política e suas configurações
- Expressões de política
- Definir ou editar políticas
- Reutilizar configurações de política
- Repositório de snippets de política
- Criar políticas usando o Microsoft Copilot no Azure