Lagra till cache
GÄLLER FÖR: Alla API Management-nivåer
Principen cache-store
cachelagrar svar enligt de angivna cacheinställningarna. Den här principen kan tillämpas i fall där svarsinnehållet förblir statiskt under en tidsperiod. Cachelagring av svar minskar bandbredds- och bearbetningskraven för serverdelswebbservern och minskar fördröjningen som uppfattas av API-konsumenter.
Kommentar
Den här principen måste ha en motsvarande Hämta från cache-princip .
Viktigt!
Den inbyggda cachen är instabil och delas av alla enheter i samma region i samma API Management-tjänst.
Kommentar
Ange principens element och underordnade element i den ordning som anges i principbeskrivningen. För att hjälpa dig att konfigurera den här principen tillhandahåller portalen en guidad, formulärbaserad redigerare. Läs mer om hur du anger eller redigerar API Management-principer.
Principuttryck
<cache-store duration="seconds" cache-response="true | false" />
Attribut
Attribut | beskrivning | Obligatoriskt | Standardvärde |
---|---|---|---|
varaktighet | Time-to-live för de cachelagrade posterna, som anges i sekunder. Principuttryck tillåts. | Ja | Ej tillämpligt |
cache-response | Ange till cachelagrat true det aktuella HTTP-svaret. Om attributet utelämnas cachelagras endast HTTP-svar med statuskoden 200 OK . Principuttryck tillåts. |
Nej | false |
Förbrukning
- Principavsnitt: utgående
- Principomfattningar: global, arbetsyta, produkt, API, åtgärd
- Gatewayer: klassisk, v2, förbrukning, lokalt installerad, arbetsyta
Användningsanteckningar
- API Management cachelagrar endast svar på HTTP GET-begäranden.
- Den här principen kan bara användas en gång i ett principavsnitt.
Exempel
Exempel med motsvarande cache-lookup-princip
<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>
Exempel med principuttryck
Det här exemplet visar hur du konfigurerar cachelagring av API Management-svar som matchar svarscachelagringen för serverdelstjänsten enligt vad som anges i serverdelstjänstens Cache-Control
direktiv.
<!-- 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;
}"
/>
Mer information finns i Principuttryck och Kontextvariabel.
Relaterade principer
Relaterat innehåll
Mer information om hur du arbetar med principer finns i:
- Självstudie: Transformera och skydda ditt API
- Principreferens för en fullständig lista över principinstruktioner och deras inställningar
- Principuttryck
- Ange eller redigera principer
- Återanvända principkonfigurationer
- Lagringsplats för principfragment
- Skapa principer med Microsoft Copilot i Azure