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 | Estándar v2 | Premium

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.

directivas de caché

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 de la operación GetSpeakers 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.

  1. Inicie sesión en Azure Portal.

  2. Vaya a la instancia de APIM.

  3. Seleccione la pestaña API.

  4. Haga clic en Demo Conference API (API de conferencia de demostración) en la lista de API.

  5. Seleccione GetSpeakers.

  6. En la parte superior de la pantalla, seleccione la pestaña Diseño.

  7. En la sección Procesamiento de entrada, haga clic en el icono </>.

    editor de código

  8. 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>
    
  9. En el elemento outbound, agregue la siguiente directiva:

    <cache-store duration="20" />
    

    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 la operación desde el portal para desarrolladores.

  1. En Azure Portal, vaya a la instancia de APIM.
  2. Seleccione la pestaña API.
  3. Seleccione la API a la que ha agregado directivas de almacenamiento en caché.
  4. Seleccione la operación GetSpeakers.
  5. Haga clic en la pestaña Test (Prueba) del menú superior derecho.
  6. Presione Enviar.

Pasos siguientes