Esta página se aplica a Apigee y Apigee Hybrid.
Consulta la documentación de
Apigee Edge.
Configura cómo se deben purgar los valores almacenados en caché.
Esta política está pensada para el almacenamiento en caché a corto plazo de uso general. Se usa junto con la política PopulateCache (para escribir entradas) y la política LookupCache (para leer entradas de caché).
Para almacenar en caché las respuestas de los recursos de backend, consulta la política ResponseCache.
Esta política es una política extensible y su uso puede tener implicaciones en cuanto a costes o utilización, en función de tu licencia de Apigee. Para obtener información sobre los tipos de políticas y las implicaciones de uso, consulta Tipos de políticas.
Referencia de elemento
A continuación, 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 superiores de la política:
Atributo | Descripción | Predeterminado | Presencia |
---|---|---|---|
name |
El nombre interno de la política. El valor del atributo Opcionalmente, usa el elemento |
N/A | Obligatorio |
continueOnError |
Asigna el valor Asigna el valor |
falso | Opcional |
enabled |
Asigna el valor Selecciona |
true | Opcional |
async |
Este atributo está obsoleto. |
falso | Obsoleto |
Elemento <DisplayName>
Úsalo junto con el atributo name
para etiquetar la política en el editor de proxy de la interfaz de gestión con un nombre diferente en lenguaje natural.
<DisplayName>Policy Display Name</DisplayName>
Predeterminado |
N/A Si omite este elemento, se usará el valor del atributo |
---|---|
Presencia | Opcional |
Tipo | Cadena |
Elemento <CacheContext>/<APIProxyName>
Especifica el nombre de la aplicación que ha añadido 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 | Cadena |
Elemento <CacheContext>
Especifica cómo crear una clave de caché cuando no se especifica un valor de elemento Prefix
o cómo borrar las entradas de caché añadidas 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 no se usa un prefijo CacheKey (es decir, un prefijo personalizado) para borrar las entradas de caché añadidas por otro proxy de API.
Elemento <CacheKey>
Configura un puntero único a un fragmento de datos almacenado en la caché.
<CacheKey> <Prefix>string</Prefix> <KeyFragment ref="variable_name" /> <KeyFragment>literal_string</KeyFragment> </CacheKey>
Valor predeterminado: |
N/A |
Presencia: |
Obligatorio |
Tipo: |
N/A |
<CacheKey>
crea el nombre de cada fragmento de datos almacenado en la caché.
En el tiempo de ejecución, los valores de <KeyFragment>
se anteponen al valor del elemento <Scope>
o al valor de <Prefix>
. Por ejemplo, lo siguiente da como resultado 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>
Para ello, usa el elemento <CacheKey>
junto con <Prefix>
y <Scope>
. Para obtener más información, consulta el artículo Trabajar 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) usan la caché compartida incluida.
<CacheResource>cache_to_use</CacheResource>
Valor predeterminado: |
N/A |
Presencia: |
Opcional |
Tipo: |
Cadena |
Para obtener más información sobre cómo configurar las cachés, consulta Almacenamiento en caché de uso general.
Elemento <CacheKey>/<KeyFragment>
Especifica un valor que se debe incluir en la clave de caché. Especifica una variable a la que se le va a quitar la referencia con el atributo ref
o un valor fijo.
<KeyFragment ref="variable_name"/> <KeyFragment>literal_string</KeyFragment>
Valor predeterminado: |
N/A |
Presencia: |
Opcional |
Tipo: |
N/A |
En el tiempo de ejecución, Apigee crea la clave de caché añadiendo al principio el valor obtenido del elemento <Scope>
o del elemento <Prefix>
a una concatenación de los valores resueltos de cada uno de los elementos <KeyFragment>
.
Para obtener más información, consulta el artículo Trabajar con claves de caché.
Atributos
Atributo | Descripción | Predeterminado | Presencia | Tipo |
---|---|---|---|---|
ref | La variable de la que se va a obtener el valor. No debe usarse si este elemento contiene un valor literal. | N/A | Opcional | Cadena |
Elemento <CacheKey>/<Prefix>
Especifica un valor que se usará como prefijo de clave de caché.
<Prefix>prefix_string</Prefix>
Valor predeterminado: |
N/A |
Presencia: |
Opcional |
Tipo: |
Cadena |
Un elemento <Prefix>
anula cualquier elemento <Scope>
.
En el tiempo de ejecución, Apigee crea la clave de caché añadiendo al principio el valor obtenido del elemento <Scope>
o del elemento <Prefix>
a una concatenación de los valores resueltos de cada uno de los elementos <KeyFragment>
.
Para obtener más información, consulta el artículo Trabajar con claves de caché.
Elemento <CacheContext>/<ProxyName>
Especifica el nombre del proxy para el que se almacenaron los datos en caché.
<ProxyName>proxy_for_which_data_was_cached</ProxyName>
Valor predeterminado: |
N/A |
Presencia: |
Opcional |
Tipo: |
Cadena |
Atributos
Atributo | Descripción | Predeterminado | Presencia | Tipo |
---|---|---|---|---|
ref | La variable de la que se va a obtener el valor. No debe usarse si este elemento contiene un valor literal. | N/A | Opcional | Cadena |
Elemento <PurgeChildEntries>
true
para purgar las entradas de caché que compartan el mismo valor de <Prefix>
configurado para esta política, aunque las instancias de la política PopulateCache que cargaron esos elementos en la caché también usaran varios elementos <KeyFragment>
.
Al invalidar todas las entradas de la caché con el mismo valor de prefijo, puede purgar varias entradas relacionadas a la vez.
<PurgeChildEntries>true_to_purge_child_entries</PurgeChildEntries>
Valor predeterminado: |
falso |
Presencia: |
Opcional |
Tipo: |
Booleano |
Elemento <Scope>
Enumeración que se usa para crear un prefijo para una clave de caché cuando no se proporciona un elemento <Prefix>
en el elemento <CacheKey>
.
<Scope>scope_enumeration</Scope>
Valor predeterminado: |
"Exclusivo" |
Presencia: |
Opcional |
Tipo: |
Cadena |
El ajuste <Scope>
determina una clave de caché que se antepone según el valor de <Scope>
. Por ejemplo, una clave de caché tendría el siguiente formato cuando el ámbito se define como Exclusive
:
orgName__envName__applicationName__proxy|TargetName__ [ serializedCacheKey ].
Si hay un elemento <Prefix>
en <CacheKey>
, este sustituye al valor del elemento <Scope>
. A continuación se muestran los valores válidos del elemento <Scope>
.
Para obtener más información, consulta el artículo Trabajar con claves de caché.
Valores aceptables
Valor de alcance | Descripción |
---|---|
Global |
La clave de caché se comparte entre todos los proxies de API implementados en el entorno. La clave de caché se antepone con el formato nombreOrganización __ nombreEntorno __. Si define una entrada |
Application |
El nombre del proxy de API se usa como prefijo. La clave de caché se añade al principio con el formato nombreOrg__nombreEntorno__nombreAplicación. |
Proxy |
La configuración de ProxyEndpoint se usa como prefijo. La clave de caché se añade al principio con el formato orgName__envName__applicationName__proxyEndpointName . |
Target |
La configuración de TargetEndpoint se usa como prefijo. Clave de caché con el prefijo en el formato orgName__envName__applicationName__targetEndpointName . |
Exclusive |
Predeterminado. Es la más específica y, por lo tanto, presenta un riesgo mínimo de colisiones de espacios de nombres en una caché determinada. El prefijo puede tener dos formas:
Clave de caché con el prefijo en el formato orgName__envName__applicationName__proxyNameITargetName Por ejemplo, la cadena completa podría tener este aspecto: apifactory__test__weatherapi__default__apiAccessToken |
Elemento <CacheContext>/<TargetName>
Especifica el nombre del endpoint de destino para el que se almacenaron los datos en caché.
<TargetName>endpoint_for_which_data_was_cached</TargetName>
Valor predeterminado: |
N/A |
Presencia: |
Opcional |
Tipo: |
Cadena |
Atributos
Atributo | Descripción | Predeterminado | Presencia | Tipo |
---|---|---|---|---|
ref | La variable de la que se va a obtener el valor. No debe usarse si este elemento contiene un valor literal. | N/A | Opcional | Cadena |
Notas de uso
El almacenamiento en caché de uso general con las políticas PopulateCache, LookupCache e InvalidateCache usa una caché que configures o una caché compartida que se incluya de forma predeterminada. En la mayoría de los casos, la caché compartida subyacente debería satisfacer sus necesidades. Para usar esta caché, simplemente omite el elemento <CacheResource>
.
Para obtener más información sobre cómo configurar las cachés, consulta Almacenamiento en caché de uso general. Para obtener más información sobre el almacén de datos subyacente, consulta Internos de la caché.
Códigos de error
En esta sección se describen los mensajes de error y las variables de flujo que se definen cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para un proxy. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.
Prefijo de código de error
N/A
Errores de tiempo de ejecución
Esta política no genera ningún error de tiempo de ejecución.
Errores de implementación
Estos errores pueden producirse al implementar un proxy que contenga esta política.
Nombre del error | Causa | Solucionar |
---|---|---|
InvalidCacheResourceReference |
Este error se produce si el elemento <CacheResource> de la política InvalidateCache se asigna a un nombre que no existe en el entorno en el que se está implementando el proxy de API. |
build |
CacheNotFound |
Este error se produce si la caché específica mencionada en el mensaje de error no se ha creado en un componente Message Processor específico. | build |
Variables de error
N/A
Ejemplo de respuesta de error
N/A