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:
- Purge por cache key, inserindo todas as variações individualmente.
- Purge por wildcard, usando
?*
no final. - 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:
Escopo | Limite |
---|---|
Tempo de histórico de purge | 6 meses |
Número de requisições em histórico | 1.000.000 |
Tamanho de Wildcard | 256 caracteres |
Tamanho de URL e Cache Key | 4.096 caracteres |
Estes são os limites default para cada Plano de Serviço:
Escopo | Developer | Business, Enterprise e Mission Critical |
---|---|---|
Operações de purge | 1.000 por mês | 1,000 por mês Operações adicionais de purge são negociáveis |