Descripción general del almacenamiento en caché y la persistencia

Esta página se aplica a Apigee y Apigee Hybrid.

Consulta la documentación de Apigee Edge.

Las características de la persistencia de Apigee incluyen memorias caché, mapas de clave-valor y conjuntos de propiedades. Si usas Apigee Hybrid, puedes usar los Secrets de Kubernetes para conservar datos sensibles.

Función Uso
Caché Con las políticas de almacenamiento en caché de uso general, puedes conservar cualquier objeto que requiera el proxy en varias sesiones de solicitud/respuesta. Puedes almacenar en caché la respuesta de un recurso de backend con la política ResponseCache. El almacenamiento en caché de respuesta es especialmente útil cuando los datos de backend se actualizan solo de forma periódica. La política ResponseCache puede reducir las llamadas a las fuentes de datos de backend.
Mapas clave-valor Los mapas de clave-valor (KVM) proporcionan un almacenamiento general de entorno de ejecución para datos que pueden cambiar periódicamente. Por ejemplo: las entradas de KVM de los datos de sesión de los usuarios, el carrito de compras, etc. se pueden encriptar.
Conjuntos de propiedades Los conjuntos de propiedades son útiles para almacenar datos de configuración que no cambian con frecuencia.
Secretos de Kubernetes (Solo Apigee Hybrid) Usa Secrets para almacenar datos sensibles, como credenciales de usuario.

Almacenamiento en caché

Los recursos de caché con alcance de entorno se crean de forma dinámica cuando una política de caché se ejecuta dentro de un flujo de proxy de API. Las políticas de caché incluyen la política PopulateCache, la política LookupCache, la política InvalidateCache y la política ResponseCache.

Un elemento almacenado en caché permanece en la memoria (L1) durante un segundo. No puedes cambiar esta configuración. Después de un segundo, el objeto almacenado en caché se coloca en una base de datos (L2) en la que está disponible hasta que vence la caché. Para obtener más información, consulta Niveles de caché persistente en memoria. Los detalles de caché, como el tiempo de vencimiento, se administran mediante la configuración de una política de caché. Se proporciona una API de Apigee que te permite enumerar y borrar recursos de caché.

Cuando usas políticas de caché, garantizas la exclusividad de las claves de valor almacenada en caché mediante la configuración de las claves de caché. Una clave de caché, junto con otros valores que puedes configurar, te brinda una forma confiable de obtener los mismos datos que ingresas. El tamaño y la disponibilidad de la caché están sujetos a ciertos límites.

Se recomienda usar una caché para lo siguiente:

  • Reduce la latencia y el tráfico. Las solicitudes se satisfacen en menos tiempo y con representaciones reutilizadas.
  • Conserva datos entre transacciones. Puedes almacenar datos de sesión para volver a usarlos en las transacciones HTTP.
  • Admitir la seguridad: Limitar el permiso a las entradas de caché para que solo se pueda acceder a ellas en un entorno particular o a través de un proxy de API específico.

Almacenamiento en caché de respuesta de backend

Puedes almacenar en caché la respuesta de un recurso de backend con la política ResponseCache.

Esto es especialmente útil cuando los datos de backend se actualizan solo de forma periódica. La política ResponseCache puede reducir las llamadas a las fuentes de datos de backend.

A través de la política ResponseCache, también puedes hacer que Apigee observe ciertos encabezados de almacenamiento en caché de respuesta HTTP y tome medidas de acuerdo con las directivas de encabezado. Por ejemplo, en las respuestas de los objetivos de backend, Apigee admite el encabezado Cache-Control. Este encabezado se puede usar para controlar la antigüedad máxima de una respuesta almacenada en caché, entre otras tareas. Para obtener más información, consulta Compatibilidad con los encabezados de respuesta HTTP.

Almacenamiento en caché de uso general de corta duración

Con las políticas de almacenamiento en caché de uso general, puedes conservar cualquier objeto que requiera el proxy en varias sesiones de solicitud/respuesta.

Gracias a la política PopulateCache, la política LookupCache y la política InvalidateCache, puedes propagar, recuperar y vaciar datos almacenados en caché en el entorno de ejecución.

Por ejemplo, puedes almacenar lo siguiente de forma temporal:

  • ID de sesión para la administración de sesiones.
  • Credenciales para llamadas salientes (como claves de API o tokens de acceso de OAuth).
  • Contenido de respuesta que se debe paginar para las apps.

En el entorno de ejecución, las políticas de caché copian los valores entre las variables de proxy y la caché configurada que especifiques. Cuando se coloca un valor en la caché, se copia de la variable que especificas a la caché. Cuando se recupera de la caché, se copia en la variable para que la use tu proxy.

Para ver un ejemplo con código, consulta Ejemplo: Almacenamiento en caché de uso general.

Administra la caché con la API de Apigee

Puedes enumerar y borrar cachés con la API de caché.

Persistencia a largo plazo con mapas clave-valor (KVM)

Para almacenar datos estructurados de forma indefinida o encriptada, puedes crear y propagar mapas de clave-valor (KVM) que contienen pares clave-valor arbitrarios. Por ejemplo, puedes almacenar lo siguiente:

  • Un mapa que correlaciona direcciones IP con códigos de país.
  • Una lista de direcciones IP a las que se permite o rechaza el acceso
  • Un mapa que correlaciona URL largas con URL acortadas.
  • Datos específicos del entorno, como recuentos de cuotas y fechas de vencimiento de tokens de OAuth.

Los KVM pueden tener uno de tres alcances: organización, entorno o apiproxy. Por ejemplo, si los pares clave-valor se usarán para todas las API de una organización, crea un KVM a nivel de la organización. Si solo un proxy de API específico debe tener acceso a claves y valores, crea el KVM en el permiso apiproxy. Para obtener más información, consulta Usa mapas clave-valor.

Conjuntos de propiedades

Un conjunto de propiedades es una colección personalizada de pares clave-valor que almacena datos. Los proxies de API pueden recuperar estos datos cuando se ejecutan.

Por lo general, se usan conjuntos de propiedades para almacenar datos sin vencimiento que no deben codificarse en la lógica del proxy de la API, como los datos de configuración. Puedes acceder a los datos de conjuntos de propiedades en cualquier ubicación de un proxy en el que puedas acceder a variables de flujo.

Un caso de uso común para los conjuntos de propiedades es proporcionar valores asociados con un entorno o con otro. Por ejemplo, puedes crear un conjunto de propiedades con alcance de entorno con valores de configuración específicos de los proxies que se ejecutan en tu entorno de prueba y otro para tu entorno de producción.

Para obtener más información, consulta Usa conjuntos de propiedades.

Secretos de Kubernetes

(Solo para Apigee Hybrid) Si ya usas Kubernetes para la administración de Secrets en un almacén personalizado de datos sensibles, deberías considerar usar Secrets de Kubernetes. Al igual que con los datos de KVM, puedes acceder a los datos del Secret de Kubernetes en variables de flujo del proxy de API. Para obtener más información, consulta Almacena datos en un Secret de Kubernetes.