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
- Beleidssecties: uitgaand
- Beleidsbereik: globaal, werkruimte, product, API, bewerking
- Gateways: klassiek, v2, verbruik, zelf-hostend, werkruimte
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.
Gerelateerd beleid
Gerelateerde inhoud
Zie voor meer informatie over het werken met beleid:
- Zelfstudie: Uw API transformeren en beveiligen
- Beleidsreferentie voor een volledige lijst met beleidsinstructies en hun instellingen
- Beleidsexpressies
- Beleid instellen of bewerken
- Beleidsconfiguraties opnieuw gebruiken
- Beleidsfragmentenopslagplaats
- Beleid ontwerpen met Behulp van Microsoft Copilot in Azure