Todos os produtos
Search
Central de documentação

:Defina uma chave de cache personalizada

Última atualização: Jun 29, 2026

Uma chave de cache é um ID exclusivo para um arquivo armazenado em cache em um nó do Dynamic Route for CDN (DCDN). Por padrão, a chave de cache corresponde à URL da solicitação, incluindo os parâmetros. O DCDN permite reescrever as chaves de cache de solicitações destinadas ao mesmo arquivo de recurso para uma única chave. Isso ajuda a economizar espaço de cache e reduz o número de solicitações redirecionadas ao servidor de origem. Este tópico descreve como defina uma chave de cache personalizada.

Cenários

Cenário 1:

As URLs nas solicitações podem conter parâmetros complexos, mesmo quando servem para recuperar o mesmo arquivo de recurso. Devido aos diferentes parâmetros de URL, os nós do DCDN tratam essas solicitações como requisições para arquivos de recurso distintos e armazenam em cache os arquivos correspondentes a cada uma delas. Como resultado, um grande volume de solicitações é redirecionado ao servidor de origem.

Figure 1

Defina uma chave de cache para um tipo específico de solicitação a fim de reduzir o número de requisições redirecionadas ao servidor de origem.

Figure 2

Cenário 2:

As solicitações possuem a mesma URL. Nesse caso, o DCDN as trata como requisições para o mesmo arquivo de recurso. No entanto, os sistemas operacionais dos clientes são especificados no campo client do cabeçalho HTTP dessas solicitações. Talvez seja necessário retornar arquivos de recurso diferentes com base no sistema operacional especificado.

Scenario 1

Para resolver esse problema, defina duas chaves de cache e inclua o valor do campo client nessas chaves. Em seguida, utilize-as para distinguir as solicitações.

Scenario 2

Procedimento

  1. Faça login no console do DCDN.

  2. Na página Domain Names, localize o nome de domínio que deseja gerencie e clique em Configure na coluna Actions.

  3. No painel de navegação à esquerda da página de detalhes do domínio especificado, clique em Cache.

  4. Na aba Custom Cache Key, configure a chave de cache.

    Nota
    • É possível modifique apenas URIs, ações de parâmetro e cabeçalhos HTTP em uma chave de cache. Variáveis personalizadas são suportadas e permitem extrair campos das solicitações. Uma chave de cache é composta por URIs, ações de parâmetro, cabeçalhos HTTP e variáveis personalizadas.

    • As chaves de cache personalizadas não alteram as URLs das solicitações redirecionadas aos servidores de origem; elas modificam apenas os identificadores de cache nessas requisições. As solicitações redirecionadas à origem e enviadas pelos clientes mantêm o mesmo conteúdo original.

    Custom cache keys

  5. Clique em OK.

Exemplo

URIs

Na figura a seguir, as solicitações destinadas às URIs

http://example.com/a/b/test.jpg

e

http://example.com/a/b/c/test.jpg

são consideradas requisições para o mesmo arquivo de recurso. A chave de cache desse arquivo é

http://example.com/c/test.jpg

.

URI

Parameter Actions

No exemplo abaixo, as solicitações têm como destino

http://example.com/a/b/test.jpg?delete_par=1&modify_par=1

. O parâmetro

add_par=1

é adicionado à URL, o parâmetro

delete_par

é removido da URL e o valor do parâmetro

modify_par

é alterado para

2

. A URL final resulta em

http://example.com/a/b/test.jpg?modify_par=2&add_par=1

.

Importante

Para ações de parâmetro, a prioridade das regras aplicadas à mesma variável segue a ordem: Add > Delete > Retain Only > Modify.

Parameter actions

HTTP Headers

Neste exemplo, os valores dos campos

User-Agent

e

Accept-Language

do cabeçalho HTTP são incluídos nas chaves de cache. Por exemplo, se uma solicitação destinada a

http://example.com/a/b/test.jpg

contiver

User-Agent=Mozilla/5.0 (Linux; X11)

e

Accept-Language=en

em seu cabeçalho, a chave de cache da solicitação será

http://example.com/a/b/test.jpgMozilla/5.0(Linux;X11)en

.

HTTP Header

Custom Variables

Exemplo 1:

O nome da variável é

language

. A source da variável é

Request Header

, o campo de source é

Accept-Language

, a regra de correspondência é

([%w]+),([%w]+)

e a expressão da variável é

$1aa

.

Custom variables

Se uma solicitação destinada a

http://example.com/a/b/test.jpg

contiver o cabeçalho HTTP

Accept-Language=en,ch

, a regra de correspondência atribuirá o valor

en

a

$1

na expressão da variável. A string

aa

também será anexada ao final da expressão. Consequentemente, a variável

enaa

com o alias

language

será gerada. Após o DCDN anexar a variável à URL, a chave de cache final será:

http://example.com/a/b/test.jpgenaa

.

Nota

A definição de

$n

na expressão da variável refere-se ao conteúdo correspondente entre os parênteses de número

n

. No Exemplo 1, temos

Accept-Language=en,ch

e a regra de correspondência é

([%w]+),([%w]+)

. Portanto,

$1=en

e

$2=ch

.

Exemplo 2:

O nome da variável personalizada é

expired

. A source da variável é

Request Cookie

, o campo de source é

a

, a regra de correspondência é

[%w]+:(.*)

e a expressão da variável é

$1

.

Custom variables

Se uma solicitação destinada a http://example.com/a/b/test.jpg contiver o cookie Cookie a=expired_time:12635187, a regra de correspondência atribuirá o valor 12635187 a $1 na expressão da variável. O alias da variável é expired. A chave de cache final será http://example.com/a/b/test.jpg12635187.

Exemplo 3:

Definir regras de URI e variáveis personalizadas simultaneamente

URI:

Transformar

/abc/.*/abc

em todas as URIs de solicitação para

/abc

.

Example 3

Variável personalizada:

O nome da variável personalizada é

testname

. A source da variável é

Path

, a regra de correspondência é

/abc/xyz/(.*)

e a expressão da variável é

$1

.

Example 3

Se uma solicitação tiver como destino http://example.com/abc/xyz/abc/test.jpg, a URL será alterada para http://example.com/abc/test.jpg com base na regra de URI. A URL corresponde a /abc/xyz/(.*). Nesse caso, $1 recebe o valor abc e é anexado à chave de cache. A chave de cache gerada é http://example.com/abc/test.jpgabc. Dessa forma, duas regras são aplicadas simultaneamente para suportar lógicas de cache mais complexas.