Información general sobre el almacenamiento en caché y la persistencia

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

Consulta la documentación de Apigee Edge.

Las funciones de persistencia de Apigee incluyen cachés, mapas de valores clave y conjuntos de propiedades. Si usas Apigee Hybrid, puedes usar secretos de Kubernetes para conservar datos sensibles.

Función Uso
Cachés Si usas políticas de almacenamiento en caché de uso general, puedes conservar los objetos que tu proxy necesite en varias sesiones de solicitud/respuesta. También puedes almacenar en caché la respuesta de un recurso de backend con la política ResponseCache. El almacenamiento en caché de respuestas es especialmente útil cuando los datos del backend se actualizan solo periódicamente. La política ResponseCache puede reducir las llamadas a fuentes de datos de backend.
Mapas de clave-valor Los mapas de valores de clave (KVMs) proporcionan un almacén de tiempo de ejecución general para los datos que pueden cambiar periódicamente. Por ejemplo, datos de sesión de usuario, carrito de la compra, etc. Las entradas de KVM se pueden cifrar.
Conjuntos de propiedades Los conjuntos de propiedades son útiles para almacenar datos de configuración que no cambian a menudo.
Secretos de Kubernetes (Solo Apigee hybrid) Usa secretos para almacenar datos sensibles, como credenciales de usuario.

Almacenamiento en caché

Los recursos de caché con ámbito de entorno se crean de forma dinámica cuando se ejecuta una política de caché en un flujo de proxy de API. Las políticas de caché incluyen las políticas PopulateCache, LookupCache, InvalidateCache y 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) donde está disponible hasta que caduca la caché. Para obtener más información, consulta Niveles de caché persistente en memoria. Puedes gestionar los detalles de la caché, como el tiempo de vencimiento, configurando una política de caché. Se proporciona una API de Apigee que te permite listar y eliminar recursos de caché.

Cuando usas políticas de caché, te aseguras de que las claves de los valores almacenados en caché sean únicas configurando claves de caché. Una clave de caché, junto con otros valores que puedes configurar, te ofrece una forma fiable de obtener los mismos datos que has introducido. El tamaño y la disponibilidad de la caché están sujetos a determinados límites.

Puede que quieras usar una caché para lo siguiente:

  • Reduce la latencia y el tráfico. Las solicitudes se completan en menos tiempo y con representaciones reutilizadas.
  • Conservar los datos en las transacciones. Puedes almacenar datos de sesión para reutilizarlos en transacciones HTTP.
  • Asistencia de seguridad. Limita el acceso a las entradas de la caché para que solo se pueda acceder a ellas en un entorno concreto o mediante un proxy de API específico.

Almacenamiento en caché de respuestas 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 del backend se actualizan solo periódicamente. La política ResponseCache puede reducir las llamadas a fuentes de datos backend.

Mediante la política ResponseCache, también puede hacer que Apigee examine determinados encabezados de almacenamiento en caché de respuestas HTTP y tome medidas según las directivas de los encabezados. Por ejemplo, en las respuestas de los destinos 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 cosas. Para obtener más información, consulta Compatibilidad con encabezados de respuesta HTTP.

Almacenamiento en caché de uso general a corto plazo

Si usas políticas de almacenamiento en caché de uso general, puedes conservar los objetos que necesite tu proxy en varias sesiones de solicitud/respuesta.

Con la política PopulateCache, la política LookupCache y la política InvalidateCache, puedes rellenar, recuperar y vaciar datos almacenados en caché en el tiempo de ejecución.

Por ejemplo, puedes almacenar temporalmente lo siguiente:

  • IDs de sesión para la gestión de sesiones.
  • Credenciales para llamadas salientes (como claves de API o tokens de acceso de OAuth).
  • Contenido de la respuesta que debe paginarse para las aplicaciones.

En el tiempo de ejecución, tus políticas de caché copian valores entre las variables proxy y la caché configurada que especifiques. Cuando se coloca un valor en la caché, se copia de la variable que especifiques 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.

Gestionar la caché con la API de Apigee

Puedes enumerar y eliminar cachés con la API caches.

Persistencia a largo plazo con mapas de clave-valor (KVMs)

Para almacenar datos estructurados de forma indefinida, ya sea cifrados o sin cifrar, puedes crear y rellenar mapas de clave-valor (KVM) que contengan pares clave-valor arbitrarios. Por ejemplo, puedes almacenar lo siguiente:

  • Un mapa que relaciona las direcciones IP con los códigos de país.
  • Una lista de direcciones IP a las que se les permite o se les deniega el acceso.
  • Un mapa que relaciona URLs largas con URLs acortadas.
  • Datos específicos del entorno, como los recuentos de cuotas y los tiempos de vencimiento de los tokens de OAuth.

Los KVMs pueden tener uno de estos tres ámbitos: organización, entorno o apiproxy. Por ejemplo, si se van a usar pares clave-valor en todas las APIs de una organización, cree un KVM en el ámbito de la organización. Si solo un proxy de API específico debe tener acceso a las claves o los valores, cree el KVM en el ámbito del proxy de API. Para obtener más información, consulta el artículo Trabajar con mapas de valores clave.

Conjuntos de propiedades

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

Normalmente, se usan conjuntos de propiedades para almacenar datos que no caducan y que no deben estar codificados en la lógica de tu proxy de API, como los datos de configuración. Puede acceder a los datos de conjuntos de propiedades en cualquier lugar de un proxy donde pueda acceder a variables de flujo.

Un caso práctico habitual de los conjuntos de propiedades es proporcionar valores asociados a un entorno u otro. Por ejemplo, puedes crear un conjunto de propiedades con ámbito de entorno con valores de configuración específicos de los proxies que se ejecutan en tu entorno de prueba y otro conjunto para tu entorno de producción.

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

Secretos de Kubernetes

(Solo Apigee hybrid) Si ya usas Kubernetes para gestionar secretos en un vault personalizado para datos sensibles, puedes usar secretos de Kubernetes. Al igual que con los datos de KVM, puedes acceder a los datos secretos de Kubernetes en las variables de flujo del proxy de API. Para obtener más información, consulta Almacenar datos en un secreto de Kubernetes.