Store to cache
Die cache-store
-Richtlinie speichert Antworten gemäß den angegebenen Cacheeinstellungen zwischen. Diese Richtlinie kann in Fällen angewendet werden, in denen sich der Inhalt von Antworten über längere Zeit nicht ändert. Das Zwischenspeichern von Antworten senkt die Bandbreitennutzung und die Prozessoranforderungen auf dem Back-End-Webserver und verringert die Latenz für API-Consumer.
Hinweis
Diese Richtlinie setzt das Vorhandensein einer entsprechenden Richtlinie Aus Cache abrufen voraus.
Wichtig
Der integrierte Cache ist flüchtig und wird von allen Einheiten in derselben Region desselben API Management-Diensts gemeinsam genutzt.
Hinweis
Legen Sie die Elemente und untergeordneten Elemente einer Richtlinie in der Reihenfolge fest, die in der Richtlinienanweisung angegeben ist. Das Portal unterstützt Sie bei der Konfiguration dieser Richtlinie durch einen formularbasierten, angeleiteten Editor. Erfahren Sie mehr darüber, wie Sie API Management-Richtlinien festlegen oder bearbeiten.
Richtlinienanweisung
<cache-store duration="seconds" cache-response="true | false" />
Attribute
attribute | BESCHREIBUNG | Erforderlich | Standard |
---|---|---|---|
duration | Lebensdauer der zwischengespeicherten Einträge, angegeben in Sekunden. | Ja | – |
cache-response | Wird auf true festgelegt, um die aktuelle HTTP-Antwort zwischenzuspeichern. Wenn das Attribut weggelassen oder auf false festgelegt wird, werden nur HTTP-Antworten mit dem Statuscode 200 OK zwischengespeichert. |
Nein | false |
Verwendung
- Richtlinienabschnitte: outbound
- Richtlinienbereiche: global, product, API, operation
- Gateways: dedicated, consumption, self-hosted
Beispiele
Beispiel mit entsprechender Cachelookup-Richtlinie
<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>
Beispiel für die Verwendung von Richtlinienausdrücken
Dieses Beispiel zeigt die Konfiguration der Dauer des API Management-Antwortcachings. Diese entspricht dem Zwischenspeichern von Antworten des Back-End-Diensts wie durch die Cache-Control
-Anweisung des Back-End-Diensts angegeben.
<!-- 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-store 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-store>
<!-- 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;
}"
/>
Weitere Informationen finden Sie unter Richtlinienausdrücke und Kontextvariable.
Verwandte Richtlinien
Nächste Schritte
Weitere Informationen zum Arbeiten mit Richtlinien finden Sie hier:
- Tutorial: Transformieren und Schützen Ihrer API
- Unter Richtlinien für die API-Verwaltung finden Sie eine komplette Liste der Richtlinienanweisungen und der zugehörigen Einstellungen.
- Richtlinienausdrücke
- Festlegen oder Bearbeiten von Richtlinien
- Wiederverwenden von Richtlinienkonfigurationen
- API Management-Richtlinienbeispiele