Esta página aplica-se ao Apigee e ao Apigee Hybrid.
  
    Veja a documentação do 
    Apigee Edge.
  
  
      
 
  
Configura a forma como os valores em cache devem ser eliminados da cache.
Esta política destina-se a utilização em cache de curto prazo de uso geral. É usada em conjunto com a política PopulateCache (para escrever entradas) e a política LookupCache (para ler entradas de cache).
Para colocar em cache as respostas dos recursos de back-end, consulte a política ResponseCache.
Esta política é uma política extensível e a utilização desta política pode ter implicações de custo ou utilização, consoante a sua licença do Apigee. Para ver informações sobre os tipos de políticas e as implicações de utilização, consulte Tipos de políticas.
Referência do elemento
A lista seguinte indica os elementos que pode configurar nesta política.
<InvalidateCache async="false" continueOnError="false" enabled="true" name="policy-name"> <DisplayName>Policy Name</DisplayName> <CacheKey> <Prefix>prefix_string</Prefix> <KeyFragment ref="variable_reference"/> <KeyFragment>fragment_string</KeyFragment> </CacheKey> <!-- Omit this element if you're using the included shared cache. --> <CacheResource>cache_to_use</CacheResource> <Scope>scope_enumeration</Scope> <CacheContext> <APIProxyName>application_that_added_the_entry</APIProxyName> <ProxyName>proxy_for_which_data_was_cached</ProxyName> <TargetName>endpoint_for_which_data_was_cached</TargetName> </CacheContext> <PurgeChildEntries>true_to_purge_all_child_entries</PurgeChildEntries> </InvalidateCache>
Atributos <InvalidateCache>
A tabela seguinte descreve os atributos comuns a todos os elementos principais de políticas:
| Atributo | Descrição | Predefinição | Presença | 
|---|---|---|---|
name | 
        
           O nome interno da política. O valor do atributo  Opcionalmente, use o elemento   | 
        N/A | Obrigatória | 
continueOnError | 
        
           Definido como  Definido como   | 
        falso | Opcional | 
enabled | 
        
           Defina como  Defina como   | 
        verdadeiro | Opcional | 
async | 
        
           Este atributo foi descontinuado.  | 
        falso | Descontinuado | 
Elemento <DisplayName>
Use em conjunto com o atributo name para etiquetar a política no editor de proxy da IU de gestão com um nome diferente em linguagem natural.
<DisplayName>Policy Display Name</DisplayName>
| Predefinição | 
           N/A Se omitir este elemento, é usado o valor do atributo   | 
      
|---|---|
| Presença | Opcional | 
| Tipo | String | 
Elemento <CacheContext>/<APIProxyName>
Especifica o nome da aplicação que adicionou a entrada de cache.
<APIProxyName>application_that_added_the_entry</APIProxyName>
Atributos
| Atributo | Descrição | Predefinição | Presença | Tipo | 
|---|---|---|---|---|
| ref | Variável com o nome da aplicação. | N/A | Opcional | String | 
      
Elemento <CacheContext>
Especifica como construir uma chave de cache quando não é especificado um valor do elemento Prefix ou para limpar as entradas de cache adicionadas por outro proxy de API.
<CacheContext> <APIProxyName ref="variable_name">application_that_added_the_entry</APIProxyName> <TargetName ref="variable_name">endpoint_for_which_data_was_cached</TargetName> <ProxyName ref="variable_name">proxy_for_which_data_was_cached</ProxyName> </CacheContext>
Usado para construir a CacheKey. Os valores de APIProxyName, ProxyName e TargetName são obrigatórios quando não é usado um prefixo CacheKey (ou seja, um prefixo personalizado) para limpar as entradas de cache adicionadas por outro proxy de API.
Elemento <CacheKey>
Configura um ponteiro único para um fragmento de dados armazenado na cache.
<CacheKey> <Prefix>string</Prefix> <KeyFragment ref="variable_name" /> <KeyFragment>literal_string</KeyFragment> </CacheKey>
| 
           Predefinição:  | 
        
           N/A  | 
      
| 
           Presença:  | 
        Obrigatória | 
| 
           Tipo:  | 
        
           N/A  | 
      
<CacheKey> cria o nome de cada parte dos dados armazenados na cache.
Em tempo de execução, os valores <KeyFragment> são precedidos pelo valor do elemento <Scope> ou pelo valor <Prefix>. Por exemplo, o seguinte resulta numa chave da cache de UserToken__apiAccessToken__<value_of_client_id>:
<CacheKey>
    <Prefix>UserToken</Prefix>
    <KeyFragment>apiAccessToken</KeyFragment>
    <KeyFragment ref="request.queryparam.client_id" />
</CacheKey>Usa o elemento <CacheKey> em conjunto com
  <Prefix> e <Scope>. Para mais informações, consulte o artigo
  Trabalhar com chaves de
  cache.
Elemento <CacheResource>
Especifica a cache onde as mensagens devem ser armazenadas.
Omita este elemento completamente se esta política (e as políticas PopulateCache e LookupCache correspondentes) estiver a usar a cache partilhada incluída.
<CacheResource>cache_to_use</CacheResource>
| 
           Predefinição:  | 
        
           N/A  | 
      
| 
           Presença:  | 
        Opcional | 
| 
           Tipo:  | 
        
           String  | 
      
Para mais informações sobre a configuração de caches, consulte o artigo Caches de uso geral.
Elemento <CacheKey>/<KeyFragment>
Especifica um valor que deve ser incluído na chave da cache. Especifique uma variável a desreferenciar
    com o atributo ref ou um valor fixo.
<KeyFragment ref="variable_name"/> <KeyFragment>literal_string</KeyFragment>
| 
           Predefinição:  | 
        
           N/A  | 
      
| 
           Presença:  | 
        Opcional | 
| 
           Tipo:  | 
        
           N/A  | 
      
Em tempo de execução, o Apigee cria a chave da cache antepondo o valor obtido do elemento <Scope> ou do elemento <Prefix> a uma concatenação dos valores resolvidos de cada um dos elementos <KeyFragment>.
    Para mais informações, consulte o artigo
    Trabalhar
    com chaves de cache.
Atributos
| Atributo | Descrição | Predefinição | Presença | Tipo | 
|---|---|---|---|---|
| ref | A variável a partir da qual obter o valor. Não deve ser usado se este elemento contiver um valor literal. | N/A | Opcional | String | 
      
Elemento <CacheKey>/<Prefix>
Especifica um valor a usar como prefixo da chave de cache.
<Prefix>prefix_string</Prefix>
| 
           Predefinição:  | 
        
           N/A  | 
      
| 
           Presença:  | 
        Opcional | 
| 
           Tipo:  | 
        
           String  | 
      
Um elemento <Prefix> substitui qualquer elemento <Scope>.
Em tempo de execução, o Apigee cria a chave da cache antepondo o valor obtido do elemento <Scope> ou do elemento <Prefix> a uma concatenação dos valores resolvidos de cada um dos elementos <KeyFragment>.
    Para mais informações, consulte o artigo
    Trabalhar
    com chaves de cache.
Elemento <CacheContext>/<ProxyName>
Especifica o nome do proxy para o qual os dados foram colocados em cache.
<ProxyName>proxy_for_which_data_was_cached</ProxyName>
| 
           Predefinição:  | 
        
           N/A  | 
      
| 
           Presença:  | 
        Opcional | 
| 
           Tipo:  | 
        
           String  | 
      
Atributos
| Atributo | Descrição | Predefinição | Presença | Tipo | 
|---|---|---|---|---|
| ref | A variável a partir da qual obter o valor. Não deve ser usado se este elemento contiver um valor literal. | N/A | Opcional | String | 
      
Elemento <PurgeChildEntries>
true para limpar as entradas da cache que partilham o mesmo valor <Prefix>
    configurado para esta política, mesmo que as instâncias da política PopulateCache
    que carregaram esses itens na cache também tenham usado vários elementos
    <KeyFragment>.
A invalidação de todas as entradas da cache do mesmo valor de prefixo permite-lhe limpar várias entradas relacionadas de uma só vez.
<PurgeChildEntries>true_to_purge_child_entries</PurgeChildEntries>
| 
           Predefinição:  | 
        
           falso  | 
      
| 
           Presença:  | 
        Opcional | 
| 
           Tipo:  | 
        
           Booleano  | 
      
Elemento <Scope>
Enumeração usada para construir um prefixo para uma chave de cache quando um elemento <Prefix>
  não é fornecido no elemento <CacheKey>.
<Scope>scope_enumeration</Scope>
| 
           Predefinição:  | 
        
           "Exclusivo"  | 
      
| 
           Presença:  | 
        Opcional | 
| 
           Tipo:  | 
        
           String  | 
      
A definição <Scope> determina uma chave de cache que é adicionada de acordo com o valor <Scope>. Por exemplo, uma chave de cache teria o seguinte formato quando o âmbito é definido como Exclusive:
orgName__envName__applicationName__proxy|TargetName__ [ serializedCacheKey ].
Se um elemento <Prefix> estiver presente em <CacheKey>, substitui o valor do elemento <Scope>. Os valores válidos para o elemento <Scope>
    são apresentados abaixo.
Para mais informações, consulte o artigo Trabalhar com chaves de cache.
Valores aceitáveis
| Valor do âmbito | Descrição | 
|---|---|
Global | 
        
           A chave da cache é partilhada por todos os proxies de API implementados no ambiente. A chave da cache é adicionada no início no formato orgName __ envName __. Se definir uma entrada   | 
      
Application | 
        
           O nome do proxy da API é usado como prefixo. A chave da cache é adicionada no formulário orgName__envName__applicationName.  | 
      
Proxy | 
        
           A configuração ProxyEndpoint é usada como prefixo. A chave da cache é adicionada sob a forma orgName__envName__applicationName__proxyEndpointName .  | 
      
Target | 
        
           A configuração TargetEndpoint é usada como prefixo. Chave da cache anteposta no formulário orgName__envName__applicationName__targetEndpointName .  | 
      
Exclusive | 
        
           Predefinição. Esta é a mais específica e, por isso, apresenta um risco mínimo de colisões de espaço de nomes numa determinada cache. O prefixo tem um de dois formatos: 
 Chave de cache anteposta no formulário orgName__envName__applicationName__proxyNameITargetName Por exemplo, a string completa pode ter o seguinte aspeto: apifactory__test__weatherapi__default__apiAccessToken  | 
      
Elemento <CacheContext>/<TargetName>
Especifica o nome do ponto final de destino para o qual os dados foram colocados em cache.
<TargetName>endpoint_for_which_data_was_cached</TargetName>
| 
           Predefinição:  | 
        
           N/A  | 
      
| 
           Presença:  | 
        Opcional | 
| 
           Tipo:  | 
        
           String  | 
      
Atributos
| Atributo | Descrição | Predefinição | Presença | Tipo | 
|---|---|---|---|---|
| ref | A variável a partir da qual obter o valor. Não deve ser usado se este elemento contiver um valor literal. | N/A | Opcional | String | 
      
Notas de utilização
O armazenamento em cache de uso geral com a política PopulateCache, a política LookupCache e a política InvalidateCache usa uma cache que configura ou uma cache partilhada incluída por predefinição. Na maioria dos casos, a cache partilhada subjacente deve satisfazer as suas necessidades. Para usar esta cache,
  basta omitir o elemento <CacheResource>.
Para mais informações sobre a configuração de caches, consulte o artigo Caches de uso geral. Para saber mais sobre o armazenamento de dados subjacente, consulte o artigo Funcionamento interno da cache.
Códigos de erro
Esta secção descreve as mensagens de erro e as variáveis de fluxo que são definidas quando esta política aciona um erro. Estas informações são importantes se estiver a desenvolver regras de falhas para um proxy. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e o artigo Processamento de falhas.
Prefixo do código de erro
N/A
Erros de tempo de execução
Esta política não gera erros de tempo de execução.
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
| Nome do erro | Causa | Corrigir | 
|---|---|---|
InvalidCacheResourceReference | 
        Este erro ocorre se o elemento <CacheResource> na política InvalidateCache estiver definido
          para um nome que não existe no ambiente onde o proxy de API está a ser implementado. | 
        build | 
CacheNotFound | 
        Este erro ocorre se a cache específica mencionada na mensagem de erro não tiver sido criada num componente do processador de mensagens específico. | build | 
Variáveis de falha
N/A
Exemplo de resposta de erro
N/A