Real-Time Purge

O Real-Time Purge permite que você exclua instantaneamente o cache de seu conteúdo na Azion. Ao atualizar o conteúdo em sua origem, você deve escolher a melhor estratégia para atualizá-lo no cache da Azion.

Ao configurar suas políticas de cache, você determina o tempo que deseja que seus objetos fiquem em cache na Azion. Quando você atualiza seu conteúdo na origem, a Azion pode continuar fornecendo uma cópia em cache pelo tempo que você definiu para ser armazenado em cache. Com o Real-Time Purge, você pode excluir instantaneamente o cache de seu conteúdo na Azion, tanto do Edge Cache quanto do Tiered Cache. Dessa forma, a Azion buscará a última versão de seu conteúdo direto na origem.

Porém, se objetos específicos armazenados em cache precisarem ser removidos do edge antes de expirarem, você tem a opção de limpar o cache com o Real-Time Purge. A limpeza regular do cache ajuda você a:

  • Garantir que os usuários recebam o conteúdo mais atualizado e experimentem as alterações mais recentes na sua aplicação.
  • Evitar que os usuários visualizem conteúdo obsoleto.
  • Fornecer conteúdo compatível com navegadores e dispositivos modernos.
  • Fornecer respostas de API e cache de conteúdo dinâmico sem sacrificar a experiência do usuário.
  • Controlar como seus objetos são servidos pela Azion.
  • Gerenciar objetos obsoletos ou desatualizados, ajudando seus desenvolvedores a criar soluções confiáveis, resilientes e de melhor desempenho.

Boas práticas

Para garantir que os purges de cache sejam seguros e controlados, você deve manter o versionamento nos nomes de objetos. Ao atualizar o objeto em sua origem, você pode adicionar a versão no nome do objeto, forçando cada modificação de seu conteúdo a ser tratada como um novo objeto pela Azion.

Para versionar seus objetos, você pode usar um número sequencial, um timestamp ou qualquer mecanismo que considere apropriado como marcação de versionamento. Por exemplo, em vez de nomear uma imagem como image.jpg, você pode nomeá-la image_1.jpg e, quando precisar atualizá-la, alterar a versão para image_2.jpg.

Dessa forma, cada atualização de conteúdo será tratada como um novo objeto pela Azion. Isto lhe permite controlar qual objeto uma requisição deve retornar, mesmo que o usuário tenha a versão anterior salva localmente no cache do navegador ou em algum cache intermediário. Você também poderá fornecer diferentes versões de seus objetos para diferentes usuários e simplificar o processo de rollback em caso de problemas com sua atualização.

Método DEL

Se você utilizar o método DEL para remover o objeto do cache em vez de Real-Time Purge, a próxima requisição de conteúdo do usuário será um método GET para a origem. No entanto, isso impede que a Azion entregue objetos stale se a origem estiver inacessível, entregando uma página de erro em seu lugar.

Você pode usar o DEL se seu objetivo for:

  • Remover o conteúdo do cache da Azion após ele ter sido removido da origem.
  • Forçar a remoção e a atualização de conteúdos para os quais o timestamp não seja confiável.
  • Forçar a entrega de uma página de erro em vez de um objeto obsoleto se sua origem estiver inacessível e a Azion não puder obter a versão mais recente de seu conteúdo.

Layer

O Real-Time Purge oferece duas opções de camadas para limpar seu cache:

  • Edge Cache: limpa o cache que é mantido no edge.
  • Tiered Cache: limpa o cache da camada tiered cache no edge. Requer que o módulo Tiered Cache esteja ativo.

URL Purge

Limpa objetos em cache através de uma lista de URLs como argumento.

A purge por URL é não recursiva, ou seja, somente URLs inseridas serão removidas do cache. As URLs são convertidas automaticamente em suas respectivas cache keys, sem considerar qualquer variação de conteúdo na URL.

A expiração das variações de conteúdo com base na query string pode ser executada usando a purge de URL, já que uma query string é um componente da URL, desde que os argumentos usados para a variação de conteúdo sejam enviados na ordem correta em que foram apresentados. Se você tiver ativado Query String Sort, classifique os argumentos na requisição ou considere o uso da cache key purge ou da wildcard purge como alternativa.

Argumentos de purge por URL

O formato da URL deve respeitar o padrão: scheme://host ou apenas host, seguido ou não de um /path e da ?query-string. Quando o scheme não for informado, o conteúdo será eliminado tanto de HTTP quanto de HTTPS.

Por exemplo:

  • http://www.seudominio.com
  • http://static.seudominio.com/include/site.css
  • https://static.seudominio.com/include/site.js
  • dynamic.seudominio.com/app.py?argumento

Cache Key Purge

Limpa objetos em cache através de uma lista de cache keys como argumento.

Uma cache key é uma entrada de índice para um objeto no cache da Azion. O formato padrão de cache key adotado pela Azion para identificar objetos em cache concatena os seguintes elementos de sintaxe de uma URI: scheme, host e path. Por exemplo, a URI https://static.yourdomain.com/include/site.js irá gerar a cache key httpsstatic.yourdomain.com/include/site.js.

Você pode especificar uma cache key para identificar diferentes variações de um objeto, com base em:

  • Query string ou argumentos de classificação de query string.
  • Cookies ao usar Advanced Cache Key.
  • Formato de imagem de acordo com o suporte do navegador ao usar Image Processor.

Para fazer o purge de todas as variações, você precisa executar a limpeza de cada cache key gerada.


Wildcard Purge

Limpa o objeto em cache fornecendo uma expressão wildcard como argumento.

Argumentos de purge por wildcard

O formato da expressão wildcard deve estar de acordo com o padrão: scheme://host ou apenas host, seguido ou não de /path e ?query-string, com um caractere de asterisco (*) no path ou na query string. Você pode até usar vários wildcards para corresponder a um padrão complexo de um path.

Por exemplo:

  • www.seudominio.com/*
  • static.seudominio.com/include/*.css
  • static.seudominio.com/*/site.js
  • static.seudominio.com/static/images/image_1.jpg?ims=*
  • www.seudominio.com/alpha*
  • www.seudominio.com/*beta*
  • www.seudominio.com/*a*/charlie
  • www.seudominio.com/*a*/*a*
  • www.seudominio.com/*?b*
  • www.seudominio.com/*?*2*c=*

Purge de Application Accelerator

Você pode fazer o purge de objetos com variação de conteúdo baseada em cookies ou query strings usando a funcionalidade Advanced Cache Key do módulo Application Accelerator.

Além de host e path, a cache key deve incluir o separador @@ seguido do nome dos cookies usados e seus valores. Ela também termina em ;.

Para remover objetos com variação baseada em cookies, você pode usar a purge por cache key, inserindo todas as variações individualmente, ou uma purge por wildcard, usando @@* no final.

Para remover objetos com variação com base na query string, você pode usar:

  1. Purge por cache key, inserindo todas as variações individualmente.
  2. Purge por wildcard, usando ?* no final.
  3. Purge por URL, inserindo apenas os argumentos usados na cache key na URL.

Se você usar Query String Sort, os argumentos deverão ser enviados na ordem alfabética.


Purge do Image Processor

Você pode remover imagens que são tratadas pelo Image Processor.

Além de host e path, a cache key deve incluir o separador ?, key-value pairs relacionados ao tipo de processamento e o separador @@ para identificar a variação de formato de imagem compatível com o navegador. Por exemplo:

  • httpstatic.seudominio.com/static/images/image.jpg@@
  • httpstatic.seudominio.com/static/images/image.jpg@@webp
  • httpstatic.seudominio.com/static/images/image.jpg?ims=88x@@
  • httpstatic.seudominio.com/static/images/image.jpg?ims=88x@@webp

Você pode usar um purge por cache key, inserindo todas as variações individualmente, ou um purge por wildcard, usando * no final.


Purge de arquivos fragmentados com Large File Optimization

Se você usar o recurso Large File Optimization em sua aplicação, arquivos grandes ainda poderão permanecer no cache. Para realizar o purge nesse caso, você deve listar as cache keys de cada fatia individualmente.

Para fazer o purge de todas as fatias de arquivos usando essa configuração, você pode fazer um purge por wildcard:

  • static.seudominio.com/midias/arquivo.mp4*

Purge de métodos HTTP

Por padrão, a Azion permite o cache apenas dos métodos GET e HEAD. Você pode ativar o cache de POST ou OPTIONS com o módulo Application Accelerator.

Para limpar esses objetos, você pode usar uma purge por cache key, inserindo todas as variações individualmente, ou uma purge por wildcard, usando @@* no final.


Confirmação de purge

Após criar uma nova purge, você receberá uma mensagem de sucesso para confirmar a criação. Em seguida, a purge é colocada na fila para execução e aparecerá no histórico assim que concluída. Isso ocorre porque os resultados podem levar algum tempo para se propagar para todos os edge nodes.

Quando necessário, você pode consultar o histórico de purge para filtrar o usuário que fez o purge, a hora, a lista de argumentos, o tipo e o método de purge.


Limites

Estes são os limites default:

EscopoLimite
Tempo de histórico de purge6 meses
Número de requisições em histórico1.000.000
Tamanho de Wildcard256 caracteres
Tamanho de URL e Cache Key4.096 caracteres

Estes são os limites default para cada Plano de Serviço:

EscopoDeveloperBusiness, Enterprise e Mission Critical
Operações de purge1.000 por mês1,000 por mês
Operações adicionais de purge são negociáveis


Contribuidores