Partilhar via


Armazenar em cache

APLICA-SE A: Todas as camadas de gerenciamento de API

A cache-store política armazena em cache as respostas de acordo com as configurações de cache especificadas. Esta política pode ser aplicada nos casos em que o conteúdo de resposta permanece estático durante um período de tempo. A colocação em cache de respostas reduz a largura de banda e os requisitos de processamento impostos no servidor Web de back-end e reduz a latência obtida pelos consumidores da API.

Nota

Essa política deve ter uma política Get from de 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.

Nota

Defina os elementos da política e os elementos filho na ordem fornecida na declaração de política. Para ajudá-lo a configurar essa política, o portal fornece um editor guiado baseado em formulários. Saiba mais sobre como definir ou editar políticas de Gerenciamento de API.

Declaração de política

<cache-store duration="seconds" cache-response="true | false" />

Atributos

Atributo Description Necessário Predefinição
duration Tempo de vida útil das entradas armazenadas em cache, especificado em segundos. São permitidas expressões de política. Sim N/A
cache-resposta Defina como true armazenar em cache a resposta HTTP atual. Se o atributo for omitido, somente as respostas HTTP com o código 200 OK de status serão armazenadas em cache. São permitidas expressões de política. Não false

Utilização

Notas de utilização

  • O Gerenciamento de API armazena em cache apenas as respostas às solicitações HTTP GET.
  • Esta política só pode ser utilizada uma vez numa secçã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 de utilização de 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 do serviço de Cache-Control back-end.

<!-- 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, consulte Expressões de política e variável de contexto.

Para obter mais informações sobre como trabalhar com políticas, consulte: