---
name: azion-configure-a-advanced-cache-key-para-uma-aplicacao
description: >-
  Varie um objeto em cache por argumento de query string ou por cookie e aplique o cache setting a uma aplicação com uma regra do Rules Engine.
---

# Configure a Advanced Cache Key para uma aplicação

[Application Accelerator](/pt-br/documentacao/plataforma/applications/#application-accelerator) libera a [Advanced Cache Key](/pt-br/documentacao/plataforma/applications/cache/cache-settings/#application-accelerator), que varia um objeto em cache por argumento de query string ou por cookie. Você a configura em um cache setting em Azion Console e depois aplica esse cache setting com uma regra do [Rules Engine](/pt-br/documentacao/plataforma/applications/rules-engine/).

Para conteúdo que não varia entre requisições, consulte [Configure políticas de cache para uma aplicação](/pt-br/documentacao/guias/performance-e-confiabilidade/cache-e-purge/cache-settings/). Para o que uma variação altera na cache key, consulte [Variação de cache](/pt-br/documentacao/plataforma/applications/application-accelerator/variacao-de-cache/).

---

## Pré-requisitos

- Uma aplicação. Para criar uma, consulte [Primeiros passos com Applications](/pt-br/documentacao/plataforma/applications/primeiros-passos/).
- Acesso a Azion Console. Consulte [Como acessar o Azion Console](/pt-br/documentacao/guias/plataforma/conta-e-billing/como-acessar-o-azion-console/).
- Application Accelerator pode gerar custos relacionados ao uso. Para as tarifas, consulte [Preços](/pt-br/documentacao/fundamentos/precos/#application-accelerator).

---

## Ative Application Accelerator

O módulo vem desativado por padrão, e um cache setting varia o objeto em cache apenas enquanto o módulo está ativado. Para ativá-lo:

1. **Abra a aplicação**

   Acesse [Azion Console](https://console.azion.com/) > **Applications** > **sua aplicação**.

2. **Ative o módulo**

   Na aba **Main Settings**, na seção **Modules**, ative **Application Accelerator**.

3. **Selecione Save**

A aplicação passa a operar com Application Accelerator, e os cache settings dela podem variar o objeto em cache por query string ou por cookie.

---

## Varie o cache por um argumento de query string

Uma aplicação serve a URL `domain.com/page?city=city_name`. A URI `/page` chama uma API que lista o conteúdo da cidade indicada no argumento `city`. A API atualiza esse conteúdo a cada cinco minutos. Para armazenar um objeto por cidade e expirá-lo no mesmo intervalo:

1. **Abra a aba Cache Settings**

   Acesse [Azion Console](https://console.azion.com/) > **Applications** > **sua aplicação** e vá para a aba **Cache Settings**.

2. **Selecione + Cache**

3. **Nomeie o cache setting**

   Em **Name**, insira um nome que identifique o cache setting. Por exemplo: `city-listing`.

4. **Defina o cache do navegador**

   Em **Browser Cache**, selecione *Override cache settings* e defina a idade máxima como `300`.

5. **Defina Max Age**

   Em **Cache**, selecione *Override cache behavior* e defina **Max Age** como `300`.

6. **Coloque o argumento na allowlist**

   Em **Application Accelerator**, abra **Cache vary by Query String** e defina **Behavior** como *Allowlist*.

7. **Insira o argumento**

   Adicione `city` à lista de argumentos de query string.

8. **Selecione Save**

O cache setting aparece na aba **Cache Settings** e varia o objeto em cache pelo argumento `city`.

> **nota**
>
> As cache keys diferenciam maiúsculas de minúsculas. A Azion armazena `?city=Lisbon` e `?city=lisbon` como dois objetos.

Um cache setting entra em vigor apenas quando uma regra o aplica. Para aplicar este à URI `/page`:

1. **Vá para a aba Rules Engine**

2. **Selecione + Rule**

3. **Nomeie a regra**

   Insira um nome para a regra. Por exemplo: `city-listing rule`.

4. **Selecione Request Phase**

5. **Selecione a variável na seção Criteria**

   Na seção **Criteria**, selecione a variável `${uri}`.

6. **Selecione starts with como operador de comparação**

7. **Insira o argumento**

   Insira `/page` como argumento.

8. **Na seção Behaviors, selecione Set Cache Policy**

9. **Selecione o cache setting que você criou**

10. **Selecione Save**

As requisições cuja URI começa com `/page` carregam o cache setting. O navegador e a Azion mantêm o objeto de cada cidade por 300 segundos. Uma nova regra leva alguns minutos para propagar.

---

## Varie o cache por um cookie

Uma aplicação autentica usuários com um cookie, e a página `/profile` que ela serve depois de um login precisa ser diferente por sessão. O cookie `session_cookie` carrega o valor que identifica a sessão. Para armazenar um objeto por sessão:

1. **Abra a aba Cache Settings**

   Acesse [Azion Console](https://console.azion.com/) > **Applications** > **sua aplicação** e vá para a aba **Cache Settings**.

2. **Selecione + Cache**

3. **Nomeie o cache setting**

   Em **Name**, insira um nome que identifique o cache setting. Por exemplo: `profile-by-session`.

4. **Defina o behavior de cache**

   Nas seções **Browser Cache** e **Cache**, defina o behavior e a idade de que a página de perfil precisa.

5. **Coloque o cookie na allowlist**

   Em **Application Accelerator**, abra **Cache vary by Cookies** e defina **Behavior** como *Allowlist*.

6. **Insira o nome do cookie**

   Adicione `session_cookie` à lista de nomes de cookies.

7. **Selecione Save**

O cache setting aparece na aba **Cache Settings** e varia o objeto em cache pelo valor de `session_cookie`. Os nomes de cookies diferenciam maiúsculas de minúsculas, como todo valor que compõe uma cache key.

Para aplicar este cache setting à URI `/profile`:

1. **Vá para a aba Rules Engine**

2. **Selecione + Rule**

3. **Nomeie a regra**

   Insira um nome para a regra. Por exemplo: `profile rule`.

4. **Selecione Request Phase**

5. **Selecione a variável na seção Criteria**

   Na seção **Criteria**, selecione a variável `${uri}`.

6. **Selecione starts with como operador de comparação**

7. **Insira o argumento**

   Insira `/profile` como argumento.

8. **Na seção Behaviors, selecione Set Cache Policy**

9. **Selecione o cache setting que você criou**

10. **Selecione Save**

As requisições cuja URI começa com `/profile` carregam o cache setting. Cada sessão recebe o objeto armazenado em cache para o próprio valor de `session_cookie`. Uma nova regra leva alguns minutos para propagar.

---

## Próximos passos

- [Variação de cache](/pt-br/documentacao/plataforma/applications/application-accelerator/variacao-de-cache.md): O que uma variação altera na cache key e o que ela custa em objetos armazenados.
- [Configurações do Application Accelerator](/pt-br/documentacao/plataforma/applications/application-accelerator/configuracoes.md): Todos os campos que o módulo acrescenta a um cache setting, com valores e padrões.
- [Real-Time Purge](/pt-br/documentacao/plataforma/applications/cache/real-time-purge.md): Expire um objeto que varia, que um purge por URL nem sempre alcança.
- [Verifique indicadores de cache com ModHeader](/pt-br/documentacao/guias/performance-e-confiabilidade/cache-e-purge/verificar-tempo-de-cache-da-pagina.md): Leia os headers de cache que uma requisição retorna e confirme a variação que você configurou.
- [Otimizar imagens para sites e aplicações móveis](/pt-br/documentacao/casos-de-uso/melhorar-performance-e-confiabilidade/otimizar-imagens-para-sites-e-aplicacoes-moveis.md): Um cache setting que varia pelo argumento ims, para que cada tamanho de imagem seja cacheado uma vez.
