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

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.

Nächste Schritte

Weitere Informationen zum Arbeiten mit Richtlinien finden Sie hier: