Opslaan in cache

VAN TOEPASSING OP: Alle API Management-lagen

Het cache-store beleid slaat antwoorden in de cache op volgens de opgegeven cache-instellingen. Dit beleid kan worden toegepast in gevallen waarin antwoordinhoud gedurende een bepaalde periode statisch blijft. Antwoordcaching vermindert de bandbreedte- en verwerkingsvereisten voor de back-endwebserver en verlaagt de latentie die API-gebruikers ervaren.

Notitie

Dit beleid moet een bijbehorend Ophalen uit cachebeleid hebben.

Belangrijk

De ingebouwde cache is vluchtig en wordt gedeeld door alle eenheden in dezelfde regio in dezelfde API Management-service.

Notitie

Stel de elementen en onderliggende elementen van het beleid in de volgorde in die in de beleidsverklaring is opgegeven. Om u te helpen dit beleid te configureren, biedt de portal een begeleide editor op basis van formulieren. Meer informatie over het instellen of bewerken van API Management-beleid.

Beleidsinstructie

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

Kenmerken

Kenmerk Beschrijving Vereist Standaardinstelling
duur Time-to-live van de items in de cache, opgegeven in seconden. Beleidsexpressies zijn toegestaan. Ja N.v.t.
cache-response Ingesteld op true cache van het huidige HTTP-antwoord. Als het kenmerk wordt weggelaten, worden alleen HTTP-antwoorden met de statuscode 200 OK in de cache opgeslagen. Beleidsexpressies zijn toegestaan. Nee false

Gebruik

Gebruiksnotities

  • API Management slaat alleen reacties op HTTP GET-aanvragen in de cache op.
  • Dit beleid kan slechts eenmaal worden gebruikt in een beleidssectie.

Voorbeelden

Voorbeeld met overeenkomend cachezoekbeleid

<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>

Voorbeeld van het gebruik van beleidsexpressies

In dit voorbeeld ziet u hoe u de reactiecacheduur van API Management configureert die overeenkomt met de reactiecache van de back-endservice, zoals opgegeven in de instructie van Cache-Control de back-endservice.

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

Zie Beleidsexpressies en contextvariabele voor meer informatie.

Zie voor meer informatie over het werken met beleid: