Incorporación del almacenamiento en caché para mejorar el rendimiento en Azure API Management
SE APLICA A: Desarrollador | Básico | Básico v2 | Estándar | Standard v2 | Premium |Premium v2
Las API y operaciones de API Management pueden configurarse con almacenamiento en caché de respuesta. El almacenamiento en caché de respuesta puede reducir considerablemente la latencia de los llamadores de API y la carga de back-end de los proveedores de API.
Importante
La caché integrada es volátil y se comparte entre todas las unidades de la misma región del mismo servicio de API Management. Independientemente del tipo de caché que se use (interna o externa), si las operaciones relacionadas con la caché no se pueden conectar a la memoria caché debido a la volatilidad de la caché o a cualquier otro motivo, la llamada API que usa la operación relacionada con la caché no genera un error y la operación de caché se completa correctamente. En el caso de una operación de lectura, se devuelve un valor null a la expresión de directiva que realiza la llamada. El código de directiva se debe diseñar para asegurarse de que hay un mecanismo de "reserva" para recuperar los datos no encontrados en la memoria caché. Para más información acerca del almacenamiento en caché, consulte directivas de Almacenamiento en caché de API Management y Almacenamiento en caché personalizado en Azure API Management.
Temas que se abordarán:
- Agregar almacenamiento en caché de respuesta a una API
- Comprobar el almacenamiento en caché en acción
Nota:
La memoria caché interna no está disponible en el nivel Consumo de Azure API Management. Puede usar una instancia externa de Azure Redis Cache en su lugar. También puede configurar una caché externa en otros niveles de servicio de API Management.
Requisitos previos
Para completar este tutorial:
Adición de las directivas de almacenamiento en caché
Con las directivas de almacenamiento en caché que se muestran en este ejemplo, la primera solicitud a una operación de prueba devuelve una respuesta del servicio back-end. Dicha respuesta se almacena en la caché, con una clave especificada mediante encabezados y parámetros de la cadena de consulta. Las siguientes llamadas a la operación, con parámetros coincidentes, devolverán la respuesta almacenada en caché hasta que el intervalo de duración en la caché haya expirado.
Inicie sesión en Azure Portal.
Vaya a la instancia de API Management.
Seleccione API>API en el menú de la izquierda.
Seleccione la API para la que desea configurar el almacenamiento en caché.
En la parte superior de la pantalla, seleccione la pestaña Diseño.
En la sección Procesamiento de entrada, seleccione el icono </>.
En el elemento
inbound
, agregue la siguiente directiva:<cache-lookup vary-by-developer="false" vary-by-developer-groups="false"> <vary-by-header>Accept</vary-by-header> <vary-by-header>Accept-Charset</vary-by-header> <vary-by-header>Authorization</vary-by-header> </cache-lookup>
En el elemento
outbound
, agregue la siguiente directiva:<cache-store duration="20" />
En esta directiva, el valor de duración especifica el intervalo de expiración de las respuestas almacenadas en caché. En este ejemplo, el intervalo es 20 segundos.
Sugerencia
Si usa una memoria caché externa, como se describe en Uso de una memoria caché de Redis externa en Azure API Management, es posible que desee especificar el atributo caching-type
de las directivas de almacenamiento en caché. Consulte Directivas de almacenamiento en caché de API Management para más detalles.
Llamada a una operación y prueba del almacenamiento en caché
Para ver cómo funciona el almacenamiento en caché, llame a una operación desde el portal.
- En Azure Portal, vaya a la instancia de API Management.
- Seleccione API>API en el menú de la izquierda.
- Seleccione la API a la que ha agregado directivas de almacenamiento en caché.
- Seleccione una operación para probar.
- Seleccione la pestaña Probar del menú superior derecho.
- Seleccione Seguimiento dos o tres veces de manera seguida y rápida.
- En Respuesta HTTP, seleccione la pestaña Seguimiento.
- Vaya a la sección Entrante y desplácese hasta la directiva
cache-lookup
. Debería ver un mensaje similar al de la siguiente captura de pantalla, indicando un acierto de caché:
Contenido relacionado
- Para más información sobre las directivas de almacenamiento en caché, consulte Caching policies (Directivas de almacenamiento en caché) en API Management policy reference (Referencia de la directiva de Administración de API).
- Para obtener información sobre el almacenamiento en caché de los elementos por parte de la clave mediante expresiones de directiva, consulte Custom caching in Azure API Management.
- Para más información sobre el uso de una instancia externa de Azure Redis Cache, consulte Uso de una memoria caché de Redis externa en Azure API Management.