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
- Sections de la stratégie : outbound
- Étendues de la stratégie : global, espace de travail, produit, API, opération
- Passerelles : classiques, v2, consommation, auto-hébergées, espace de travail
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.
Stratégies connexes
Contenu connexe
Pour plus d’informations sur l’utilisation des stratégies, consultez :
- Tutoriel : Transformer et protéger votre API
- Référence de stratégie pour obtenir la liste complète des instructions et des paramètres de stratégie
- Expressions de stratégie
- Définir ou modifier des stratégies
- Réutilisation de configurations de stratégie
- Référentiel d’extrait de stratégie
- Créer des stratégies à l’aide de Microsoft Copilot dans Azure