Compartilhar via


Adicionar caching para melhorar o desempenho no Gerenciamento de API do Azure

APLICA-SE A: Desenvolvedor | Básico | Básico v2 | Standard | Standard v2 | Premium | Premium v2

As APIs e operações no Gerenciamento de API podem ser configuradas com cache de resposta. O cache de resposta pode reduzir significativamente a latência para chamadores de API e a carga de back-end para provedores de API. Este artigo descreve como adicionar cache às APIs.

Importante

O cache interno é volátil e é compartilhado por todas as unidades na mesma região na mesma instância de Gerenciamento de API. Independentemente do tipo de cache usado (interno ou externo), se as operações relacionadas ao cache não se conectarem ao cache devido à volatilidade do cache ou por qualquer outro motivo, a chamada à API que usa a operação relacionada ao cache não gerará um erro e a operação de cache será concluída com êxito. No caso de uma operação de leitura, um valor nulo é retornado à expressão de política de chamada. Seu código de política deve ser projetado para garantir que haja um mecanismo de fallback para recuperar dados que não foram encontrados no cache.

Captura de tela que mostra as políticas de cache no Gerenciamento de API.

Neste artigo, você:

  • Adicionar o cache de resposta à sua API
  • Verifique se o cache está funcionando

Observação

O cache interno não está disponível na camada de consumo do Gerenciamento de API do Azure. Você pode usar um Cache do Azure para Redis externo em vez disso. Você também pode configurar um cache externo em outros níveis do Gerenciamento de API.

Pré-requisitos

Adicionar políticas de cache

Com as políticas de cache mostradas neste exemplo, a primeira solicitação para uma operação de teste retorna uma resposta do serviço de back-end. Esta resposta será armazenada em cache, com uma chave de acordo com os parâmetros de cadeia de consulta e cabeçalhos especificados. As chamadas subsequentes à operação, com parâmetros correspondentes, retornarão a resposta armazenada em cache até que o intervalo de duração do cache expire.

  1. Entre no portal do Azure.

  2. Vá para sua instância de Gerenciamento de API.

  3. Selecione APIs> no menu à esquerda.

  4. Selecione uma API para a qual você deseja configurar o cache.

  5. Na parte superior da tela, selecione a guia Design .

  6. Na seção Processamento de Entrada, selecione o ícone <>:

    Captura de tela que mostra as APIs de Gestão no portal.

  7. No elemento inbound, adicione a seguinte política:

    <cache-lookup vary-by-developer="false" vary-by-developer-groups="false">
        <vary-by-header>Accept</vary-by-header>
        <vary-by-header>Accept-Charset</vary-by-header>
        <vary-by-header>Authorization</vary-by-header>
    </cache-lookup>
    <rate-limit calls="10" renewal-period="60" />
    

    Observação

    Adicione uma política de limite de taxa (ou política de limite de taxa por chave ) após a busca no cache para ajudar a limitar o número de chamadas e evitar sobrecarga no serviço backend caso o cache não esteja disponível.

  8. No elemento outbound, adicione a seguinte política:

    <cache-store duration="20" />
    

    Nesta política, duration especifica o intervalo de expiração das respostas armazenadas em cache. O intervalo é de 20 segundos.

  9. Clique em Salvar.

Dica

Se você estiver usando um cache externo, conforme descrito em Usar um cache externo compatível com Redis no Gerenciamento de API do Azure, convém especificar o caching-type atributo das políticas de cache. Consulte as políticas de cache do Gerenciamento de API para obter mais informações.

Chamar uma operação para testar o cache

Para testar o cache, realize uma operação no portal.

  1. Vá até a sua instância de Gerenciamento de API do Azure no portal do Azure.
  2. Selecione APIs> no menu à esquerda.
  3. Selecione a API para a qual você adicionou políticas de cache.
  4. Selecione uma operação para testar.
  5. Selecione a guia Teste na parte superior da janela.
  6. Selecione Rastrear duas ou três vezes em rápida sucessão.
  7. Em Resposta HTTP, selecione a guia Rastrear.
  8. Vá para a seção Entrada e role até a política cache-lookup. Você verá uma mensagem semelhante à da captura de tela a seguir, indicando uma ocorrência no cache: Captura de tela da pesquisa no cache ao testar uma API no portal.