Adicionar caching para melhorar o desempenho no Gerenciamento de API do Azure
APLICA-SE A: Desenvolvedor | Básico | Básico v2 | Padrão | 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.
Importante
O cache interno é volátil e compartilhado por todas as unidades na mesma região, no mesmo serviço de Gerenciamento de API. Independentemente do tipo de cache que está sendo usado (interno ou externo), se as operações relacionadas ao cache não se conectarem ao cache devido à volatilidade do cache ou 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 os dados não encontrados no cache. Para saber mais sobre o cache, consulte políticas de Armazenamento em cache do Gerenciamento de API e Armazenamento em cache personalizado no Gerenciamento de API do Azure.
O que você aprenderá:
- Adicionar o cache de resposta à sua API
- Verificação do cache em ação
Observaçã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
Para concluir este tutorial:
Adicionar as políticas de cache
Com as políticas de cache mostradas nesse exemplo, a primeira solicitação a 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. Chamadas subsequentes para a operação, com parâmetros correspondentes, retornarão respostas em cache até que o intervalo de duração de cache expire.
Entre no portal do Azure.
Navegue até instância de Gerenciamento de API.
Selecione APIs>APIs no menu à esquerda.
Selecione uma API para a qual você deseja configurar o cache.
Na parte superior da tela, selecione a guia Design.
Na seção processamento de Entrada, selecione o ícone </>.
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>
No elemento
outbound
, adicione a seguinte política:<cache-store duration="20" />
Nesta política, duração especifica o intervalo de expiração das respostas armazenadas em cache. Neste exemplo, o intervalo restante é de 20 segundos.
Dica
Se você estiver usando um cache externo, conforme descrito em Uso de um Cache do Azure para Redis externo no Gerenciamento de API do Azure, poderá especificar o atributo caching-type
das políticas de cache. Para obter mais detalhes, consulte Políticas de caching do Gerenciamento de API.
Chamar uma operação e testar o cache
Para ver o cache em ação, chame uma operação no portal.
- No portal do Azure, acesse sua instância do Gerenciamento de API.
- Selecione APIs>APIs no menu à esquerda.
- Selecione a API para a qual você adicionou políticas de cache.
- Selecione uma operação para testar.
- Selecione a guia Testar no menu superior direito.
- Selecione Rastrear duas ou três vezes em rápida sucessão.
- Em Resposta HTTP, selecione a guia Rastrear.
- 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 um acerto de cache:
Conteúdo relacionado
- Para saber mais sobre as políticas de cache, veja Políticas de cache na Referência de política do Gerenciamento de API.
- Para saber mais sobre itens de cache por chave usando expressões de política, confira Cache personalizado no Gerenciamento de API do Azure.
- Para obter mais informações sobre como usar o Cache do Azure externo para Redis ou Redis Gerenciados do Azure, consulte Usar um Cache do Azure externo para Redis no Gerenciamento de API do Azure.