Freigeben über


Store to cache

GILT FÜR: Alle API Management-Ebenen

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

Attribut BESCHREIBUNG Erforderlich Standard
duration Lebensdauer der zwischengespeicherten Einträge, angegeben in Sekunden. Richtlinienausdrücke sind zulässig. Ja
cache-response Wird auf true festgelegt, um die aktuelle HTTP-Antwort zwischenzuspeichern. Wenn das Attribut weggelassen wird, werden nur HTTP-Antworten mit dem Statuscode 200 OK zwischengespeichert. Richtlinienausdrücke sind zulässig. Nein false

Verwendung

Hinweise zur Verwendung

  • API Management speichert nur Antworten auf HTTP GET-Anforderungen zwischen.
  • Diese Richtlinie kann nur einmal in einem Richtlinienabschnitt verwendet werden.

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-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;
  }"
 />

Weitere Informationen finden Sie unter Richtlinienausdrücke und Kontextvariable.

Weitere Informationen zum Arbeiten mit Richtlinien finden Sie hier: