Partager via


Stockage dans le cache

S’APPLIQUE À : Tous les niveaux Gestion des API

La stratégie cache-store met en cache la réponse en fonction des paramètres de cache spécifiés. Cette stratégie peut être appliquée dans les cas où le contenu de la réponse reste statique pendant un certain temps. La mise en cache de la réponse réduit les besoins en bande passante et en calcul imposés par le serveur web principal et limite la latence perçue par les consommateurs de l’API.

Notes

Cette stratégie avoir une stratégie Get from cache correspondante.

Important

Le cache intégré est volatile et partagé par toutes les unités de la même région dans le même service de gestion des API.

Notes

Définissez les éléments enfants et de stratégie dans l’ordre fourni dans l’instruction de stratégie. Pour vous aider à configurer cette stratégie, le portail fournit un éditeur guidé basé sur des formulaires. En savoir plus sur comment définir ou modifier des stratégies du service Gestion des API.

Instruction de la stratégie

<cache-store duration="seconds" cache-response="true | false" />

Attributs

Attribut Description Obligatoire Default
duration Durée de vie des entrées mises en cache (en secondes). Les expressions de stratégie sont autorisées. Oui N/A
cache-response Affectez la valeur true pour mettre en cache la réponse HTTP actuelle. Si l’attribut est omis, seules les réponses HTTP avec le code d’état 200 OK sont mises en cache. Les expressions de stratégie sont autorisées. Non false

Usage

Notes d’utilisation

  • Gestion des API met uniquement en cache les réponses aux requêtes HTTP GET.
  • Cette stratégie ne peut être employée qu’une seule fois dans une section stratégie.

Exemples

Exemple avec la stratégie de recherche de cache correspondante

<policies>
    <inbound>
        <base />
        <cache-lookup vary-by-developer="false" vary-by-developer-groups="false" downstream-caching-type="none" must-revalidate="true" caching-type="internal" >
            <vary-by-query-parameter>version</vary-by-query-parameter>
        </cache-lookup>
    </inbound>
    <outbound>
        <cache-store duration="seconds" />
        <base />
    </outbound>
</policies>

Exemple utilisant des expressions de stratégie

Cet exemple montre comment configurer la durée de mise en cache des réponses de Gestion des API qui correspond à la mise en cache de la réponse du service principal, comme spécifié par la directive Cache-Control du service principal.

<!-- The following cache policy snippets demonstrate how to control API Management response cache duration with Cache-Control headers sent by the backend service. -->

<!-- Copy this snippet into the inbound section -->
<cache-lookup vary-by-developer="false" vary-by-developer-groups="false" downstream-caching-type="public" must-revalidate="true" >
  <vary-by-header>Accept</vary-by-header>
  <vary-by-header>Accept-Charset</vary-by-header>
</cache-lookup>

<!-- Copy this snippet into the outbound section. Note that cache duration is set to the max-age value provided in the Cache-Control header received from the backend service or to the default value of 5 min if none is found  -->
<cache-store duration="@{
    var header = context.Response.Headers.GetValueOrDefault("Cache-Control","");
    var maxAge = Regex.Match(header, @"max-age=(?<maxAge>\d+)").Groups["maxAge"]?.Value;
    return (!string.IsNullOrEmpty(maxAge))?int.Parse(maxAge):300;
  }"
 />

Pour plus d’informations, consultez les pages Expressions de stratégie et Variable de contexte.

Pour plus d’informations sur l’utilisation des stratégies, consultez :