Uma chave de cache é o identificador exclusivo de um arquivo armazenado em cache em um ponto de presença (POP) do CDN. Por padrão, a chave de cache é o URL da solicitação, incluindo seus parâmetros.
Comparação de recursos
A filtragem de parâmetros e a Chave de cache personalizada entram em conflito. A ativação da filtragem de parâmetros remove os parâmetros de query string dos URLs, o que torna ineficazes os parâmetros configurados em uma chave de cache personalizada. Verifique se não há chaves de cache personalizadas criadas antes de ativar esse recurso.
O CDN oferece três recursos que controlam como as query strings de URL afetam o armazenamento em cache. A tabela a seguir os compara.
Caso de uso
Filtragem de parâmetros
CacheKey personalizada
Ignorar todos os parâmetros de consulta na chave de cache
Defina Ignore Parameters como Yes e deixe Retain Specified Parameters em branco.
Adicione uma regra de parâmetro de solicitação: defina Action como Retain e Parameter Name como um valor inexistente, como
example-argument.Manter apenas
key1na chave de cacheDefina Ignore Parameters como Yes e Retain Specified Parameters como
key1.Adicione uma regra de parâmetro de solicitação: defina Action como Retain e Parameter Name como
key1.Remover apenas
key1da chave de cacheDefina Remove Specified Parameters como
key1.Adicione uma regra de parâmetro de solicitação: defina Action como Delete e Parameter Name como
key1.Reescrever parâmetros de origem: para modificar os parâmetros de consulta nas solicitações de origem, use Reescrever parâmetros de origem. A configuração da chave de cache altera apenas o URL da solicitação, sem modificar o URL de origem.
Limpar cache: após configurar uma chave de cache personalizada, se você limpar recursos por URL, a tarefa pode não corresponder ao conteúdo armazenado em cache. Envie a chave de cache gerada pelo recurso de chave de cache personalizada como o objeto a ser limpo.
Casos de uso
A personalização da chave de cache atende a dois objetivos opostos: consolidar solicitações ou dividi-las.
Consolidar: múltiplas solicitações para o mesmo arquivo possuem URLs diferentes devido a parâmetros variados. Os POPs tratam essas solicitações como arquivos separados e os armazenam em cache individualmente, aumentando as buscas na origem. Uma regra de chave de cache personalizada unifica essas solicitações em uma única chave de cache.


Dividir: múltiplas solicitações compartilham o mesmo URL, mas exigem respostas em cache diferentes — por exemplo, com base em um cabeçalho de tipo de cliente. Sem uma chave de cache personalizada, o CDN serve a todos os clientes o mesmo arquivo em cache. Adicionar o valor do cabeçalho à chave de cache cria entradas de cache separadas por tipo de cliente.


Quando uma configuração de recurso faz referência a condições de regra configuradas no mecanismo de regras, a ordem de execução segue a ordem de prioridade das condições de regra associadas, não a ordem de prioridade das configurações de recurso.
Configurar uma chave de cache personalizada
Faça logon no console do CDN.
No painel de navegação à esquerda, clique em Domain Names.
Na página Domain Names, localize o nome de domínio acelerado e clique em Manage na coluna Actions.
No painel de navegação do domínio, clique em Cache.
Na aba Custom Cache Key, clique em Configure.
Defina as regras de chave de cache usando os parâmetros descritos na tabela a seguir.
Parâmetro
Descrição
Rule Condition
Filtra solicitações por atributos de solicitação para determinar a quais solicitações esta regra se aplica.
nullQuando uma configuração de recurso faz referência a condições de regra configuradas no mecanismo de regras, a ordem de execução segue a ordem de prioridade das condições de regra associadas, não a ordem de prioridade das configurações de recurso.
Padrão: não utilizar condições de regra. Para adicionar ou editar condições de regra, acesse o Mecanismo de Regras.
URIs
Substitui um caminho URI correspondente por um caminho diferente ao construir a chave de cache. Defina Source URI como o padrão do caminho original (deve começar com
/, sem prefixohttp://ou domínio; suporta expressões regulares PCRE) e Final URI como o caminho de substituição (deve começar com/, sem prefixohttp://ou domínio). Quando existem múltiplas regras de substituição de URI, elas são correspondidas de cima para baixo e a primeira correspondência se aplica.Request Parameter
Modifica os parâmetros de query string na chave de cache. Operações suportadas: Add (adicionar novos parâmetros), Delete (remover parâmetros específicos), Modify (alterar o valor de um parâmetro) e Reserve (manter apenas os parâmetros especificados, descartando o restante). Quando existem múltiplas operações, elas são executadas sequencialmente de cima para baixo. Se múltiplas operações visam o mesmo parâmetro, a ordem de prioridade é: Add > Delete > Reserve > Modify.
HTTP Headers
Adiciona os valores dos cabeçalhos HTTP de solicitação especificados à chave de cache. Separe múltiplos nomes de cabeçalho com espaços. Os valores dos cabeçalhos são adicionados na ordem listada.
Custom Variables
Extrai um valor de um parâmetro de solicitação, cabeçalho HTTP, cookie ou caminho URI usando uma expressão regular e adiciona o valor extraído à chave de cache. Para detalhes de uso e exemplos, consulte Exemplos de configuração.

Clique em OK.
Exemplos de configuração
URIs
Para tratar as solicitações de http://aliyundoc.com/a/b/image.jpg e http://aliyundoc.com/a/b/c/image.jpg como o mesmo arquivo, configure uma regra de URI que mapeie ambos os caminhos para /c/image.jpg. Ambas as solicitações resolvem para a chave de cache http://aliyundoc.com/c/image.jpg.

Parâmetro de solicitação
Para uma solicitação a http://aliyundoc.com/a/b/image.jpg?delete_par=1&modify_par=1, aplique três operações de parâmetro: adicione add_par=1, exclua delete_par e altere modify_par para 2. A chave de cache resultante é http://aliyundoc.com/a/b/image.jpg?modify_par=2&add_par=1.
Quando múltiplas operações visam o mesmo parâmetro, a ordem de prioridade é: Add > Delete > Reserve > Modify.

Cabeçalhos HTTP
Para incluir os valores dos cabeçalhos User-Agent e Accept-Language na chave de cache: para uma solicitação a http://aliyundoc.com/a/b/image.jpg com User-Agent: Mozilla/5.0 (Linux; X11) e Accept-Language: en, a chave de cache se torna http://aliyundoc.com/a/b/image.jpgMozilla/5.0(Linux;X11)en.

Variáveis personalizadas
As variáveis personalizadas extraem um valor de um atributo de solicitação usando uma expressão regular e adicionam o valor extraído à chave de cache. Na expressão da variável, $n refere-se ao valor capturado pelo n-ésimo grupo de captura na regra de correspondência.
Exemplo 1: extrair de um cabeçalho de solicitação
Nome da variável: language | Fonte: Request Header | Campo de origem: Accept-Language | Regra de correspondência: ([%w]+),([%w]+) | Expressão da variável: $1aa

Um cliente solicita http://aliyundoc.com/a/b/image.jpg com Accept-Language: en,ch. A regra de correspondência captura en como $1. A expressão produz enaa, que é adicionado à chave de cache: http://aliyundoc.com/a/b/image.jpgenaa.
Na expressão([%w]+),([%w]+)aplicada aen,ch:$1éene$2éch.
Exemplo 2: extrair de um cookie
Nome da variável: expired | Fonte: Request Cookie | Campo de origem: a | Regra de correspondência: [%w]+:(.*) | Expressão da variável: $1

Um cliente solicita http://aliyundoc.com/a/b/image.jpg com Cookie a=expired_time:12635187. A regra de correspondência extrai 12635187 como $1, que é adicionado à chave de cache: http://aliyundoc.com/a/b/image.jpg12635187.
Exemplo 3: combinar uma regra de URI com uma variável personalizada
Regra de URI: unificar todas as solicitações que correspondam a /abc/.*/abc em /abc.

Variável personalizada: nome testname | Fonte: Path | Regra de correspondência: /abc/xyz/(.*) | Expressão da variável: $1

Um cliente solicita http://aliyundoc.com/abc/xyz/abc/image.jpg. A regra de URI mapeia para http://aliyundoc.com/abc/image.jpg. A variável personalizada então faz a correspondência de /abc/xyz/(.*) com o URL original, captura abc como $1 e o adiciona. A chave de cache final é http://aliyundoc.com/abc/image.jpgabc.
Se a solicitação não corresponder à regra da variável personalizada, a variável não será adicionada à chave de cache.
Exemplo 4: servir entradas de cache diferentes para clientes mobile e PC
Defina duas condições de regra:
Mobile:
User-Agentcontém qualquer um dos valores*Mobile*,*Android*,*iPhone*,*ipad*
PC:
User-Agentnão contém nenhum dos valores*Mobile*,*Android*,*iPhone*,*ipad*
Em seguida, configure duas regras de chave de cache personalizada:
Chave de cache mobile: condição de regra
Mobile| Variável personalizada: nomeMobile, FontePath, Regra de correspondência/, Expressão da variável+mobile
Chave de cache PC: condição de regra
PC| Variável personalizada: nomePC, FontePath, Regra de correspondência/, Expressão da variável+pc
Para uma solicitação a http://aliyundoc.com/image.jpg, a chave de cache resolve para http://aliyundoc.com/image.jpg+mobile para clientes mobile e http://aliyundoc.com/image.jpg+pc para clientes PC.