Armazene em cache respostas de POST e OPTIONS
Armazene em cache a resposta de uma requisição POST ou OPTIONS em uma aplicação e aplique o cache setting com uma regra do Rules Engine.
Application Accelerator libera o cache de respostas POST e OPTIONS, além das requisições GET e HEAD que uma aplicação armazena em cache nativamente. Você seleciona os métodos em um cache setting a partir de Azion Console e depois aplica esse cache setting com o Rules Engine.
Um objeto POST em cache não compartilha a cache key com a resposta GET do mesmo path. A Azion adiciona o método como prefixo à key de qualquer requisição diferente de GET ou HEAD. Para um objeto POST ou OPTIONS em cache, a key também acrescenta @@ e o hash MD5 do corpo da requisição. Uma requisição OPTIONS para https://static.yourdomain.com/page é armazenada sob a key optionshttpsstatic.yourdomain.com/page. Um POST para um path dinâmico é armazenado sob httpsdynamic.yourdomain.com/path@@md5_of_post_arguments.
Um corpo de POST que varia a cada requisição produz, portanto, um objeto em cache por requisição. Para o que uma variação custa, consulte Variação de cache.
Pré-requisitos
- Uma aplicação. Para criar uma, consulte Primeiros passos com Applications.
- Acesso a Azion Console. Consulte Como acessar o Azion Console.
- Application Accelerator pode gerar custos relacionados ao uso. Para as tarifas, consulte Preços.
Ative Application Accelerator
O módulo vem desativado por padrão, e um cache setting armazena uma resposta POST ou OPTIONS apenas enquanto o módulo está ativo. Para ativá-lo:
Acesse Azion Console > Applications > sua aplicação.
Na aba Main Settings, na seção Modules, ative Application Accelerator.
A aplicação roda com Application Accelerator, e os cache settings dela podem selecionar os métodos POST e OPTIONS.
Armazene em cache as respostas de requisições POST
Uma aplicação serve uma API de busca em /api/search. O endpoint responde a uma requisição POST cujo corpo carrega os termos da busca, e os resultados mudam a cada 30 segundos. Para armazenar um objeto por corpo e expirá-lo nesse mesmo intervalo:
Acesse Azion Console > Applications > sua aplicação e vá para a aba Cache Settings.
Em Name, digite um nome que identifique o cache setting. Por exemplo: search-post.
Em Cache, selecione Override cache behavior e defina Max Age como 30.
Em Application Accelerator, abra Cache vary by Method e marque o checkbox POST.
O cache setting aparece na aba Cache Settings. Ele armazena a resposta de uma requisição POST assim que uma regra o aplica.
Cache vary by Method carrega dois checkboxes, POST e OPTIONS. Para armazenar em cache respostas OPTIONS, marque OPTIONS no mesmo controle; um cache setting pode carregar os dois métodos. A Azion API define os mesmos métodos com o campo cache_vary_by_method de um cache setting, documentado em Configurações do Application Accelerator.
Um cache setting entra em vigor apenas quando uma regra o aplica. Para aplicar este à URI /api/search:
Digite um nome para a regra. Por exemplo: search-post rule.
Na seção Criteria, selecione a variável ${uri}.
Digite /api/search como argumento.
As requisições cuja URI começa com /api/search carregam o cache setting. A Azion armazena um objeto por corpo de requisição e mantém cada objeto por 30 segundos. Uma nova regra leva alguns minutos para propagar.
Um objeto POST ou OPTIONS em cache expira com um purge por cache key que lista cada variação, ou com um purge por wildcard terminado em @@*. Para os tipos de purge, consulte Real-Time Purge.