Como ajustar configurações de cache
Utilize as capacidades de Edge Cache para configurar as políticas de cache da sua edge application, incluindo valores de expiração do cache da edge ou do navegador, segmentação de cache de arquivos maiores e definição de cache key com base em query strings ou cookies.
Quando você cria uma edge application pela primeira vez, uma variável de configuração de cache será criada e ativada por padrão. Este guia mostrará como criar e ativar uma nova instância de configuração de cache.
- Acesse o Azion Console > Edge Application.
- Clique na edge application que você deseja configurar.
- Ative o módulo Application Accelerator para desbloquear configurações avançadas de cache key.
- Clique no botão Save.
- Navegue até a aba Cache Settings.
- Clique no botão + Cache Setting.
- Dê um nome para sua configuração de cache.
Cache Expiration Policies
Você pode personalizar o Time To Live (TTL) do cache nos navegadores e no edge. Esses dados são enviados em requisições e respostas através dos cabeçalhos HTTP Cache-Control
e Expires
.
- Em Browser Cache Settings, selecione Override Cache Settings para determinar um valor de TTL personalizado.
- Adicione o TTL em segundos no campo Maximum TTL (seconds). Por exemplo:
432000
= 5 dias.
Em Edge Cache Settings*, você pode determinar se o edge deve obedecer aos valores enviados nos cabeçalhos Cache-Control
e Expires
.
Você pode optar por manter Honor Origin Cache Headers selecionado para respeitar os valores TTL enviados nos cabeçalhos pela origem ou pela própria aplicação.
Se a sua aplicação não estiver enviando cabeçalhos Cache-Control
e Expires
ou os valores não estiverem configurados corretamente, você pode determinar um TTL máximo padrão para o cache ser mantido no edge no campo Default TTL (seconds). Se a sua aplicação estiver enviando esses valores, para substituí-los:
- Em Edge Cache Settings, selecione Override Cache Settings para determinar um valor TTL personalizado.
- Adicione o TTL em segundos no campo Maximum TTL (seconds). Por exemplo:
864000
= 10 dias.
Large File Optimization
Em vez de baixar um arquivo de conteúdo grande e correr o risco de timeouts ou terminações de conexão, os arquivos podem ser fatiados em pedaços e armazenados em cache sob demanda.
- Em Large File Optimization, habilite o switch.
- A camada Edge Cache já está selecionada por padrão. Se você tiver o módulo Tiered Cache ativado, você também pode habilitar o Large File Optimization para a camada de tiered cache.
Advanced cache key
Você pode personalizar como seu conteúdo será armazenado em cache no edge através de cache keys. Você pode escolher segmentar cache keys com base em query strings ou cookies.
Para determinar a variação de conteúdo no cache:
- Em Cache by Query Strungs, selecione Content varies by some Query String fields (Allowlist).
- Em Query String fields, adicione o valor
cidade
.
Quando uma requisição é feita para uma URL de aplicação xxxxxxxxxx.map.azionedge.net/pagina?cidade=12345
, a cache key para esta URL será diferente das cache keys feitas para xxxxxxxxxx.map.azionedge.net/pagina
e quaisquer outras queries adicionadas à URL.
Para desconsiderar a ordem dos dados enviados na query string e manter objetos com os mesmos valores de query string como uma única cache key:
- Ative Query String Sort.
Você também pode personalizar quais tipos de requisições podem ser armazenadas em cache:
- Ative Enable caching for POST para armazenar requisições
POST
em cache. - Ative Enable caching for OPTIONS para armazenar requisições
OPTIONS
em cache.
Em seguida, você pode determinar a variação de conteúdo com base em cookies:
- Em Cache by Cookies, selecione Content varies by some Cookies (Allowlist).
- Em Cookie Names, adicione o valor
nome_do_cookie
.
Quando uma requisição é feita a uma aplicação e a resposta da origem envia um cabeçalho Set-Cookie
, os objetos no cabeçalho de requisição Cookie
que contêm o nome nome_do_cookie
, independentemente do valor, serão considerados como um objeto diferente no cache de outras requisições.
Adaptive delivery
Se você criou um device group, você pode segmentar cache keys com base nos device groups que você criou. Para fazer isso:
- Selecione Content varies by some Device Groups (Allowlist).
- Clique no botão + Add Device Group para adicionar um device group.
- Selecione o device group da lista.
- Repita os passos 15 e 16 para cada device group para o qual você deseja especificar uma cache key diferente.
Depois de terminar de configurar sua configuração de cache:
- Clique no botão Save.
Activating your cache setting
A página de configurações de cache agora lista a nova instância criada. No entanto, essa nova configuração de cache não está ativa em sua aplicação. Você precisa definir o que acionará a implementação das políticas de cache em sua aplicação. Para isso, você pode usar o Rules Engine de sua edge application.
As instruções abaixo ajudarão você a criar uma regra na qual qualquer requisição de seus usuários para xxxxxxxxxx.map.azionedge.net/cache
aplicará a configuração de cache que você criou.
- Navegue até a aba Rules Engine.
- Clique no botão + Rule.
- Dê um nome para sua regra.
- selecione Request Phase.
- Na seção Criteria, selecione a variável
${uri}
.
- Como operador de comparação, selecione is equal.
- Como argumento, adicione
/cache
. - Na seção Behaviors, selecione Set Cache Policy na lista de comportamentos.
- Selecione a nova configuração decache que você criou.
- Clique no botão Save.
- Aguarde alguns minutos para que as alterações se propaguem.
Para analisar como seu conteúdo está sendo armazenado em cache, você pode verificar os indicadores de cache da aplicação usando o Modheader para Google Chrome.
- Acesse o Real-Time Manager (RTM).
- No canto superior esquerdo da página, abra o Products menu, representado por três linhas horizontais, e selecione Edge Application.
- Clique na edge application que você deseja configurar.
- Ative o módulo Application Accelerator para desbloquear configurações avançadas de cache key.
- Navegue até a aba Configurações de Cache.
- Clique no botão Adicionar Configurações de Cache.
- Dê um nome para sua configuração de cache.
Expiration settings
Você pode personalizar o Time To Live (TTL) do cache nos navegadores e no edge. Esses dados são enviados em requisições e respostas através dos cabeçalhos HTTP Cache-Control
e Expires
.
- Em Browser Cache Settings, selecione Override Cache Settings para determinar um valor de TTL personalizado.
- Adicione o TTL em segundos no campo Maximum TTL (seconds). Por exemplo:
432000
= 5 dias.
Em CDN Cache Settings*, você pode determinar se o edge deve obedecer aos valores enviados nos cabeçalhos Cache-Control
e Expires
.
Você pode optar por manter Honor Origin Cache Headers selecionado para respeitar os valores TTL enviados nos cabeçalhos pela origem ou pela própria aplicação.
Se a sua aplicação não estiver enviando cabeçalhos Cache-Control
e Expires
ou os valores não estiverem configurados corretamente, você pode determinar um TTL máximo padrão para o cache ser mantido no edge no campo Default TTL (seconds). Se a sua aplicação estiver enviando esses valores, para substituí-los:
- Em CDN Cache Settings, selecione Override Cache Settings para determinar um valor TTL personalizado.
- Adicione o TTL em segundos no campo Maximum TTL (seconds). Por exemplo:
864000
= 10 dias.
Large File Optimization
Em vez de baixar um arquivo de conteúdo grande e correr o risco de timeouts ou terminações de conexão, os arquivos podem ser fatiados em pedaços e armazenados em cache sob demanda.
- Em Large File Optimization, habilite o switch.
- A camada Edge Cache já está selecionada por padrão. Se você tiver o módulo Tiered Cache ativado, você também pode habilitar o Large File Optimization para a camada de tiered cache.
Advanced cache key
Você pode personalizar como seu conteúdo será armazenado em cache no edge através de cache keys. Você pode escolher segmentar cache keys com base em query strings ou cookies.
Para determinar a variação de conteúdo no cache:
- Em Cache by Query Strungs, selecione Content varies by some Query String fields (Whitelist).
- Em Query String Fields, adicione o valor
cidade
.
Quando uma requisição é feita para uma URL de aplicação xxxxxxxxxx.map.azionedge.net/pagina?cidade=12345
, a cache key para esta URL será diferente das cache keys feitas para xxxxxxxxxx.map.azionedge.net/pagina
e quaisquer outras queries adicionadas à URL.
Para desconsiderar a ordem dos dados enviados na query string e manter objetos com os mesmos valores de query string como uma única cache key:
- Ative Query String Sort.
Você também pode personalizar quais tipos de requisições podem ser armazenadas em cache:
- Ative Enable caching for POST para armazenar requisições
POST
em cache. - Ative Enable caching for OPTIONS para armazenar requisições
OPTIONS
em cache.
Em seguida, você pode determinar a variação de conteúdo com base em cookies:
- Em Cache by Cookies, selecione Content varies by some Cookies (Whitelist).
- Em Cookie Names, adicione o valor
nome_do_cookie
.
Quando uma requisição é feita a uma aplicação e a resposta da origem envia um cabeçalho Set-Cookie
, os objetos no cabeçalho de requisição Cookie
que contêm o nome nome_do_cookie
, independentemente do valor, serão considerados como um objeto diferente no cache de outras requisições.
Adaptive delivery
Se você criou um device group, você pode segmentar cache keys com base nos device groups que você criou. Para fazer isso:
- Selecione Content varies by some Device Groups (Whitelist).
- Clique no botão + para adicionar um device group.
- Selecione o device group da lista.
- Repita os passos 15 e 16 para cada device group para o qual você deseja especificar uma cache key diferente.
Depois de terminar de configurar sua configuração de cache:
- Clique no botão Save.
Activating your cache setting
A página de configurações de cache agora lista a nova instância criada. No entanto, essa nova configuração de cache não está ativa em sua aplicação. Você precisa definir o que acionará a implementação das políticas de cache em sua aplicação. Para isso, você pode usar o Rules Engine de sua edge application.
As instruções abaixo ajudarão você a criar uma regra na qual qualquer requisição de seus usuários para xxxxxxxxxx.map.azionedge.net/cache
aplicará a configuração de cache que você criou.
- Navegue até a aba Rules Engine.
- Clique no botão Add Rule e selecione Request Phase.
- Na seção Criteria, selecione a variável
${uri}
.
- Como operador de comparação, selecione is equal.
- Como argumento, adicione
/cache
. - Na seção Behaviors, selecione Set Cache Policy na lista de comportamentos.
- Selecione a nova configuração decache que você criou.
- Clique no botão Save.
- Aguarde alguns minutos para que as alterações se propaguem.
Para analisar como seu conteúdo está sendo armazenado em cache, você pode verificar os indicadores de cache da aplicação usando o Modheader para Google Chrome.
- Execute a seguinte requisição
PATCH
em seu terminal, substituindo[TOKEN VALUE]
pelo seu personal token e a variável<edge_application_id>
pelo ID da sua edge application para ativar o módulo Application Accelerator:
- Você receberá uma resposta com o valor atualizado.
- Se você quiser configurar a entrega adaptativa para um dos seus device groups, execute a seguinte requisição
GET
antes:
- Copie o ID recebido na resposta.
- Execute a seguinte requisição
POST
em seu terminal, substituindo[TOKEN VALUE]
pelo seu personal token, a variável<edge_application_id>
pelo ID da sua edge application, e a variável<device_group_id>
pelo ID do device group da resposta anterior, se necessário:
Chave | Descrição |
---|---|
name | Define a string em valor como um nome da configuração de cache. |
browser_cache_settings | Define a string em valor como a política selecionada para navegadores em relação aos valores TTL enviados nos cabeçalhos Cache-Control ou Expires . Quando "honor" , as diretivas de TTL de cache recebidas da origem são implementadas. Quando "override" , permite que você determine o TTL de cache do navegador através de browser_cache_settings_maximum_ttl . |
browser_cache_settings_maximum_ttl | Determina o TTL para cache do navegador em segundos. |
cdn_cache_settings | Define a string em valor como a política selecionada para o edge em relação aos valores TTL enviados nos cabeçalhos Cache-Control ou Expires . Quando "honor" , as diretivas de TTL de cache recebidas da origem são implementadas. Quando "override" , permite que você determine o TTL de cache do edge através de cdn_cache_settings_maximum_ttl . |
cdn_cache_settings_maximum_ttl | Determina o TTL para cache do edge em segundos. Se nenhum cabeçalho for recebido da origem, implementa um valor TTL padrão. |
cache_by_query_string | Define se o cache deve ser segmentado em cache keys com base em query strings. Para todas as opções disponíveis, consulte a documentação da API. |
query_string_fields | Define as strings listadas como as chaves de consultas que devem ser mantidas como a mesma cache key ou segmentadas em cache keys separadas. |
adaptive_delivery_action | Define se o cache deve ser segmentado em cache keys com base em device groups. |
device_group | Define os IDs listados como os device groups que devem ser mantidos como a mesma cache key ou segmentados em cache keys separadas. |
enable_query_string_sort | Quando ativado, uma única cache key é gerada para URLs com as mesmas query strings, independentemente da ordem em que são agrupadas. |
enable_caching_for_options | Habilita o cache de requisições OPTIONS . |
cache_by_cookies | Define se o cache deve ser segmentado em cache keys com base em cookies. Para todas as opções disponíveis, consulte a documentação da API. |
cookie_names | Define as strings listadas como os nomes dos cookies que devem ser mantidos como a mesma cache key ou segmentados em cache keys separadas. |
enable_caching_for_post | Habilita o cache de requisições POST . |
l2_caching_enabled | Habilita o cache para a camada tiered cache. Você deve ter o módulo Tiered Cache ativo para habilitar essa configuração. |
is_slice_configuration_enabled | Habilita o recurso de Large File Optimization. |
is_slice_edge_caching_enabled | Habilita Large File Optimization para o edge. Se is_slice_configuration_enabled estiver definido como true , essa propriedade também deve ser definida como true . |
is_slice_l2_caching_enabled | Habilita Large File Optimization para a camada tiered cache. Você deve ter o módulo Tiered Cache ativo para habilitar essa configuração. |
- Você receberá uma resposta semelhante a esta:
- Execute a seguinte requisição
POST
em seu terminal, substituindo[TOKEN VALUE]
pelo seu personal token, a variável<edge_application_id>
pelo ID da sua edge application, e a variável<cache_setting_id>
pelo ID da configuração de cache recebido na resposta:
- Você receberá uma resposta com os dados atualizados.
- Aguarde alguns minutos para que as alterações se propaguem.
Para verificar como seu conteúdo está sendo armazenado em cache, você pode verificar os indicadores de cache da aplicação usando o Modheader para Google Chrome.