Visão geral de armazenamento em cache e persistência

Esta página se aplica à Apigee e à Apigee híbrida.

Confira a documentação da Apigee Edge.

Os recursos de persistência Apigee incluem caches, mapas de chave/valor e conjuntos de propriedades. Se você estiver usando a Apigee híbrida, poderá usar os secrets do Kubernetes para manter dados confidenciais.

Recurso Uso
Caches Usando políticas para armazenamento em cache de uso geral, é possível manter todos os objetos que seu proxy exigir em várias sessões de solicitação/resposta. Também é possível armazenar em cache a resposta de um recurso de back-end com a política ResponseCache. O armazenamento em cache de respostas é especialmente útil quando os dados de back-end são atualizados periodicamente. A política ResponseCache pode reduzir as chamadas para fontes de dados de back-end.
Mapas de chave/valor Os mapas de chave-valor (KVMs, na sigla em inglês) fornecem um armazenamento de ambiente de execução geral para dados que podem mudar periodicamente. Por exemplo: dados de sessão do usuário, carrinho de compras etc. As entradas de KVM podem ser criptografadas.
Conjuntos de propriedades Os conjuntos de propriedades são adequados para armazenar dados de configuração que não mudam com frequência.
Secrets do Kubernetes (Somente para a Apigee híbrida) Use secrets para armazenar dados confidenciais, como credenciais do usuário.

Armazenamento em cache

Os recursos de cache com escopo de ambiente são criados dinamicamente quando uma política de cache é executada em um fluxo de proxy de API. As políticas de cache incluem política CacheCache, política LookupCache, política InvalidateCache e política do CacheCache do Google Analytics.

Um item armazenado em cache permanece na memória (L1) por um segundo. Não é possível alterar essa configuração. Após um segundo, o objeto armazenado em cache é colocado em um banco de dados (L2) onde fica disponível até que o cache expire. Para detalhes, consulte Níveis de cache permanentes na memória. Você gerencia os detalhes do cache, como o prazo de validade, por meio da configuração de uma política de cache. É fornecida uma API da Apigee que permite listar e excluir recursos de cache.

Ao usar políticas de cache, você garante a exclusividade das chaves de valor armazenadas em cache configurando as chaves de cache. Uma chave de cache, junto com outros valores que podem ser configurados, oferece a você uma maneira confiável de extrair os mesmos dados que foram armazenados. O tamanho e a disponibilidade do cache estão sujeitos a determinados limites.

O cache também pode ser usado para:

  • Reduza a latência e o tráfego. As solicitações são atendidas em menos tempo e com representações reutilizadas.
  • Mantenha os dados entre transações. É possível armazenar dados de sessão para reutilização em transações HTTP.
  • Apoie a segurança. Planeje entradas de cache para que elas possam ser acessadas apenas em um determinado ambiente ou por um proxy de API específico.

Armazenamento em cache de resposta de back-end

É possível armazenar a resposta de um recurso de back-end com a política ResponseCache.

Isso é especialmente útil quando os dados de back-end são atualizados periodicamente. A política ResponseCache pode reduzir as chamadas para fontes de dados de back-end.

Por meio da política ResponseCache, também é possível fazer com que a Apigee analise determinados cabeçalhos de cache de resposta HTTP e execute ações de acordo com as diretivas de cabeçalho. Por exemplo, em respostas de destinos de back-end, a Apigee aceita o cabeçalho Cache-Control. Esse cabeçalho pode ser usado para controlar a idade máxima de uma resposta armazenada em cache, entre outras coisas. Para mais informações, consulte Suporte para cabeçalhos de resposta HTTP.

Armazenamento em cache de curto prazo para fins gerais

Usando políticas para armazenamento em cache de uso geral, é possível manter todos os objetos que seu proxy exigir em várias sessões de solicitação/resposta.

Com a política PopulateCache, política LookupCache e política InvalidateCache, é possível preencher, recuperar e limpar dados em cache durante o tempo de execução.

Por exemplo, é possível armazenar temporariamente os dados abaixo:

  • IDs de sessão para gerenciamento de sessão.
  • Credenciais para chamadas realizadas (como chaves de API ou tokens de acesso OAuth).
  • Conteúdo de resposta que precisa ser paginado para aplicativos.

No ambiente de execução, as políticas de cache copiam valores entre variáveis de proxy e o cache configurado especificado por você. Quando um valor é colocado no cache, ele é copiado da variável especificada para o cache. Quando ele é recuperado do cache, ele é copiado na variável para uso pelo proxy.

Para ver um exemplo com código, consulte Exemplo: armazenamento em cache de uso geral.

Como gerenciar o cache com a API Apigee

É possível listar e excluir caches usando a API de caches.

Persistência de longo prazo com mapas de chave-valor (KVMs, na sigla em inglês)

Para armazenar dados estruturados indefinidamente ou criptografados, crie e preencha mapas de chave-valor (KVMs) que contêm pares de chave/valor arbitrários. Por exemplo, é possível armazenar os seguintes dados:

  • Um mapa que correlaciona os endereços IP com os códigos de país.
  • Uma lista de endereços IP que têm acesso/negado.
  • Um mapa correlacionando URLs longos com URLs encurtados.
  • Dados específicos do ambiente, como contagens de cotas e prazos de validade do token OAuth.

Os KVMs podem ter um destes três escopos: organização, ambiente, apiproxy. Por exemplo, se for preciso usar pares de chave-valor para todas as APIs de uma organização, crie uma KVM no escopo da organização. Ou se apenas um proxy de API específico deve ter acesso a chaves/valores, crie a KVM no escopo apiproxy. Para saber mais, consulte Como trabalhar com mapas de chave-valor.

Conjuntos de propriedades

Um conjunto de propriedades é uma coleção personalizada de pares de chave-valor que armazena dados. Os proxies da API podem recuperar esses dados quando são executados.

Normalmente, você usa conjuntos de propriedades para armazenar dados que não são expirados que não podem ser codificados na lógica de proxy da sua API, como dados de configuração. É possível acessar dados de conjuntos de propriedades em qualquer lugar de um proxy de que se tenha acesso às variáveis de fluxo.

Um caso de uso comum para conjuntos de propriedades é fornecer valores associados a um ambiente ou a outro. Por exemplo, é possível criar um conjunto de propriedades no escopo do ambiente com valores de configuração específicos aos proxies em execução no ambiente de teste, e o outro conjunto para o ambiente de produção.

Para mais informações, consulte Como usar conjuntos de propriedades.

Secrets do Kubernetes

(Somente para a Apigee híbrida) Se você já estiver usando o Kubernetes para gerenciamento de secrets em um vault personalizado para dados confidenciais, use Secrets do Kubernetes (em inglês). Assim como os dados do KVM, é possível acessar os dados do secret do Kubernetes nas variáveis de fluxo do proxy de API. Para mais informações, consulte Como armazenar dados em um secret do Kubernetes.