Estás viendo la documentación de Apigee Edge.
Ve a la
Documentación de Apigee X. información
Configura cómo se deben borrar definitivamente de la caché los valores almacenados en caché.
Esta política está diseñada para usarse el almacenamiento en caché a corto plazo de uso general. Se usa en junto con el campo Propagar La política de caché (para escribir entradas) y la política de Lookup Cache (para leer entradas de caché)
Para almacenar en caché las respuestas de los recursos de backend, consulta la política de Response Cache.
Referencia del elemento
En la siguiente lista, se enumeran los elementos que puedes configurar en esta 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>
En la siguiente tabla, se describen los atributos que son comunes a todos los elementos principales de las políticas:
Atributo | Descripción | Predeterminado | Presencia |
---|---|---|---|
name |
El nombre interno de la política. El valor del atributo De forma opcional, usa el elemento |
N/A | Obligatorio |
continueOnError |
Configúralo como Configúralo como |
falso | Opcional |
enabled |
Configúralo como Configúralo como |
true | Opcional |
async |
Este atributo dejó de estar disponible. |
falso | Obsoleta |
Elemento <DisplayName>
Se usan además del atributo name
para etiquetar la política en el editor de proxy de la IU de administración con un nombre de lenguaje natural diferente.
<DisplayName>Policy Display Name</DisplayName>
Predeterminada |
N/A Si omites este elemento, se usa el valor del atributo |
---|---|
Presencia | Opcional |
Tipo | String |
elemento <CacheContext>/<APIProxyName>
Especifica el nombre de la aplicación que agregó la entrada de caché.
<APIProxyName>application_that_added_the_entry</APIProxyName>
Atributos
Atributo | Descripción | Predeterminado | Presencia | Tipo |
---|---|---|---|---|
ref | Variable con el nombre de la aplicación | N/A | Opcional | String |
Elemento <CacheContext>
Especifica cómo construir una clave de caché cuando no se especifica un valor de elemento Prefix
o para borrar las entradas de caché agregadas por otro 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>
Se usa para construir CacheKey. Los valores de APIProxyName, ProxyName y TargetName son obligatorios cuando un prefijo de CacheKey (es decir, un prefijo personalizado) no se usa para borrar las entradas almacenadas en caché que agrega otro proxy de API.
Elemento <CacheKey>
Configura un puntero único para un dato almacenado en la caché.
<CacheKey> <Prefix>string</Prefix> <KeyFragment ref="variable_name" /> <KeyFragment>literal_string</KeyFragment> </CacheKey>
Predeterminado: |
N/A |
Presencia: |
Obligatorio |
Tipo: |
N/A |
<CacheKey>
construye el nombre de cada dato almacenado en la caché.
En el entorno de ejecución, los valores <KeyFragment>
están precedidos del valor del elemento <Scope>
o el valor <Prefix>
. Por ejemplo, lo siguiente genera una clave de caché de UserToken__apiAccessToken__
<value_of_client_id>:
<CacheKey> <Prefix>UserToken</Prefix> <KeyFragment>apiAccessToken</KeyFragment> <KeyFragment ref="request.queryparam.client_id" /> </CacheKey>
Debes usar el elemento <CacheKey>
junto con <Prefix>
y <Scope>
. Para obtener más información, consulta Trabaja con claves de caché.
Elemento <CacheResource>
Especifica la caché en la que se deben almacenar los mensajes.
Omite este elemento por completo si esta política (y las políticas PopulateCache y LookupCache correspondientes) usa la caché compartida incluida.
<CacheResource>cache_to_use</CacheResource>
Predeterminado: |
N/A |
Presencia: |
Opcional |
Tipo: |
String |
Para obtener más información sobre la configuración de cachés, consulta Crea y edita una caché de entorno.
Elemento <CacheKey>/<KeyFragment>
Especifica un valor que se debe incluir en la clave de caché lo que crea un espacio de nombres para hacer coincidir las solicitudes con las respuestas almacenadas en caché.
<KeyFragment ref="variable_name"/> <KeyFragment>literal_string</KeyFragment>
Predeterminado: |
N/A |
Presencia: |
Opcional |
Tipo: |
N/A |
Puede ser una clave (un nombre estático que proporcionas) o un valor (un conjunto de entradas dinámicas mediante la referencia de una variable). Todos los fragmentos especificados combinados (más el prefijo) se concatenan para crear la clave de caché.
<KeyFragment>apiAccessToken</KeyFragment> <KeyFragment ref="request.queryparam.client_id" />
Debes usar el elemento <KeyFragment>
junto con <Prefix>
y <Scope>
. Para obtener más información, consulta Trabaja con claves de caché.
Atributos
Atributo | Descripción | Predeterminado | Presencia | Tipo |
---|---|---|---|---|
ref | Variable de la que se obtiene el valor No debe usarse si este elemento contiene un valor literal. | N/A | Opcional | String |
Elemento <CacheKey>/<Prefix>
Especifica un valor para usar como prefijo de clave de caché.
<Prefix>prefix_string</Prefix>
Predeterminado: |
N/A |
Presencia: |
Opcional |
Tipo: |
String |
Usa este valor en lugar de <Scope>
cuando quieras especificar tu propio valor en lugar de un valor enumerado <Scope>
. Si se define, <Prefix>
antepone el valor de la clave de caché para las entradas escritas en la caché. Un valor de elemento <Prefix>
anula un valor de elemento <Scope>
.
Debes usar el elemento <Prefix>
junto con <CacheKey>
y <Scope>
. Para obtener más información, consulta Trabaja con claves de caché.
elemento <CacheContext>/<ProxyName>
Especifica el nombre del proxy para el que los datos se almacenaron en caché.
<ProxyName>proxy_for_which_data_was_cached</ProxyName>
Predeterminado: |
N/A |
Presencia: |
Opcional |
Tipo: |
String |
Atributos
Atributo | Descripción | Predeterminado | Presencia | Tipo |
---|---|---|---|---|
ref | Variable de la que se obtiene el valor No debe usarse si este elemento contiene un valor literal. | N/A | Opcional | String |
Elemento <PurgeChildEntries>
Usa true
a fin de borrar definitivamente las entradas de caché que comparten el valor establecido por un elemento <KeyFragment>
configurado para esta política. No se consideran los valores en otras partes de la clave de caché, como en los elementos <Prefix>
.
Ten en cuenta que el elemento <KeyFragment>
se debe especificar. Si no es así, configurar verdadero para <PurgeChildEntries>
podría generar como resultado la eliminación definitiva de todas las entradas en la caché.
La invalidación de todas las entradas de caché del mismo valor de fragmento de clave puede ser una forma útil de borrar definitivamente y a la vez varias entradas relacionadas.
<PurgeChildEntries>true_to_purge_child_entries</PurgeChildEntries>
Predeterminado: |
falso |
Presencia: |
Opcional |
Tipo: |
Booleano |
Elemento <Scope>
Enumeración que se usa a fin de construir un prefijo para una clave de caché cuando no se proporciona un elemento <Prefix>
en el elemento <CacheKey>
.
<Scope>scope_enumeration</Scope>
Predeterminado: |
“Exclusivo” |
Presencia: |
Opcional |
Tipo: |
String |
La configuración <Scope>
determina una clave de caché que se antepone según el valor <Scope>
. Por ejemplo, una clave de caché podría tener el siguiente formato cuando el alcance se establece en Exclusive
:
orgName__envName__applicationName__deployedRevisionNumber__proxy|TargetName__[serializatedCacheKey].
Si un elemento <Prefix>
está presente en <CacheKey>
, sustituye un valor de elemento <Scope>
. Los valores válidos incluyen las enumeraciones a continuación.
Debes usar el elemento <Scope>
junto con <CacheKey>
y <Prefix>
. Para obtener más información, consulta Trabaja con claves de caché.
Valores aceptables
Valor del permiso | Descripción |
---|---|
Global |
La clave de caché se comparte en todos los proxies de API implementados en el entorno. La clave de caché se antepone en el formato orgName __ envName __. Si defines una entrada |
Application |
El nombre del proxy de la API se usa como prefijo. La clave de caché se antepone en el formato orgName__envName__applicationName. |
Proxy |
La configuración de ProxyEndpoint se usa como prefijo. La clave de caché se antepone en el formato orgName__envName__applicationName__deployedRevisionNumber__proxyEndpointName. |
Target |
La configuración TargetEndpoint se usa como prefijo. La clave de caché se antepone en el formato orgName__envName__applicationName__deployedRevisionNumber__targetEndpointName. |
Exclusive |
predeterminada. Este es el más específico, por lo tanto, representa el riesgo mínimo de colisiones de espacio de nombres dentro de una caché determinada. El prefijo es uno de estos dos formatos:
La clave de caché se antepone en el formato orgName__envName__applicationName__deployedRevisionNumber__proxyNameITargetName Por ejemplo, la string completa podría verse de la siguiente manera: apifactory__test__weatherapi__16__default__apiAccessToken. |
elemento <CacheContext>/<TargetName>
Especifica el nombre del extremo de destino para el que se almacenaron los datos en la caché.
<TargetName>endpoint_for_which_data_was_cached</TargetName>
Predeterminado: |
N/A |
Presencia: |
Opcional |
Tipo: |
String |
Atributos
Atributo | Descripción | Predeterminado | Presencia | Tipo |
---|---|---|---|---|
ref | Variable de la que se obtiene el valor No debe usarse si este elemento contiene un valor literal. | N/A | Opcional | String |
Notas de uso
El almacenamiento en caché de uso general con la política PopulateCache, la política LookupCache y la política InvalidateCache usan la caché que configuras o una caché compartida que se incluye de forma predeterminada. En la mayoría de los casos, la caché compartida subyacente debe satisfacer tus necesidades. Para usar esta caché, solo omite el elemento <CacheResource>
.
Para obtener más información sobre la configuración de cachés, consulta Crea y edita una caché de entorno. Para obtener más información sobre el almacén de datos subyacente, consulta Objetos internos de la caché.
Códigos de error
This section describes the error messages and flow variables that are set when this policy triggers an error. This information is important to know if you are developing fault rules for a proxy. To learn more, see What you need to know about policy errors and Handling faults.
Error code prefix
N/A
Runtime errors
This policy does not throw any runtime errors.
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
Error name | Cause | Fix |
---|---|---|
InvalidCacheResourceReference |
This error occurs if the <CacheResource> element in the InvalidateCache policy is set
to a name that does not exist in the environment where the API proxy is being deployed. |
build |
CacheNotFound |
This error occurs if the specific cache mentioned in the error message has not been created on a specific Message Processor component. | build |
Fault variables
N/A
Example error response
N/A