Megosztás a következőn keresztül:


Get from cache

A KÖVETKEZŐRE VONATKOZIK: Minden API Management-szint

cache-lookup A szabályzat használatával gyorsítótárkeresést hajthat végre, és érvényes gyorsítótárazott választ ad vissza, ha elérhető. Ez a szabályzat olyan esetekben alkalmazható, amikor a választartalmak állandóak maradnak egy adott időszakban. A válasz-gyorsítótárazás csökkenti a háttérbeli webkiszolgálóra vonatkozó sávszélesség- és feldolgozási követelményeket, valamint csökkenti az API-használók által érzékelt késést.

Feljegyzés

Ennek a szabályzatnak rendelkeznie kell egy megfelelő tárolóval a gyorsítótár-szabályzathoz .

Fontos

A beépített gyorsítótár változékony, és az ugyanabban a régióban lévő összes egység megosztja ugyanabban az API Management szolgáltatásban.

Feljegyzés

Állítsa be a szabályzat elemeit és gyermekelemeit a szabályzatutasításban megadott sorrendben. A szabályzat konfigurálásához a portál egy irányított, űrlapalapú szerkesztőt biztosít. További információ az API Management-szabályzatok beállításáról és szerkesztéséről.

Szabályzatutasítás

<cache-lookup vary-by-developer="true | false" vary-by-developer-groups="true | false" caching-type="prefer-external | external | internal" downstream-caching-type="none | private | public" must-revalidate="true | false" allow-private-response-caching="@(expression to evaluate)">
  <vary-by-header>Accept</vary-by-header>
  <!-- should be present in most cases -->
  <vary-by-header>Accept-Charset</vary-by-header>
  <!-- should be present in most cases -->
  <vary-by-header>Authorization</vary-by-header>
  <!-- should be present when allow-private-response-caching is "true"-->
  <vary-by-header>header name</vary-by-header>
  <!-- optional, can be repeated -->
  <vary-by-query-parameter>parameter name</vary-by-query-parameter>
  <!-- optional, can be repeated -->
</cache-lookup>

Attribútumok

Attribútum Leírás Kötelező Alapértelmezett
allow-private-response-caching Ha be van trueállítva, engedélyezi az engedélyezési fejlécet tartalmazó kérések gyorsítótárazását. A szabályzatkifejezések engedélyezettek. Nem false
gyorsítótárazás típusa Válasszon az attribútum alábbi értékei közül:
- internal a beépített API Management-gyorsítótár használatához,
- externala külső gyorsítótár használata az Azure API Managementben a külső Azure Cache for Redis használata című cikkben leírtak szerint,
- prefer-external külső gyorsítótár használata, ha konfigurálva van, vagy ha a belső gyorsítótár másként van beállítva.

A szabályzatkifejezések nem engedélyezettek.
Nem prefer-external
alsóbb rétegbeli gyorsítótárazási típus Ezt az attribútumot az alábbi értékek egyikére kell beállítani.

- nincs - az alsóbb rétegbeli gyorsítótárazás nem engedélyezett.
- privát – alsóbb rétegbeli privát gyorsítótárazás engedélyezett.
- nyilvános – privát és megosztott alsóbb rétegbeli gyorsítótárazás engedélyezett.

A szabályzatkifejezések engedélyezettek.
Nem Nincs
must-revalidate Ha az alsóbb rétegbeli gyorsítótárazás engedélyezve van, ez az attribútum be- vagy kikapcsolja a gyorsítótár-vezérlési irányelvet az must-revalidate átjáróválaszokban. A szabályzatkifejezések engedélyezettek. Nem true
fejlesztőnként eltérő true A kérésben szereplő előfizetési kulcs birtokában lévő fejlesztői fiókonkénti válaszok gyorsítótárazására van beállítva. A szabályzatkifejezések engedélyezettek. Igen false
különböző fejlesztői csoportok A válaszok felhasználói csoportonkénti truegyorsítótárazására van beállítva. A szabályzatkifejezések engedélyezettek. Igen false

Elemek

Név Leírás Kötelező
különböző fejlécek Adjon hozzá egy vagy több elemet a megadott fejléc értékéhez tartozó válaszok gyorsítótárazásához, például Accept: , Accept-Charset, Accept-Encoding, Accept-Language, HostAuthorizationFromExpectIf-Match. Nem
vary-by-query-parameter Adjon hozzá egy vagy több elemet a megadott lekérdezési paraméterek értékéhez tartozó válaszok gyorsítótárazásához. Adjon meg egy vagy több paramétert. Használjon pontosvesszőt elválasztóként. Nem

Használat

Használati megjegyzések

  • Az API Management csak HTTP GET-kérelmek gyorsítótár-keresését hajtja végre.
  • Ha ezt használja vary-by-query-parameter, érdemes lehet deklarálni a paramétereket az átírási-uri sablonban, vagy beállítani az attribútumot copy-unmatched-paramsfalse. A jelző inaktiválásával a nem deklarált paraméterek a háttérrendszerbe kerülnek.
  • Ez a szabályzat csak egyszer használható egy szabályzatszakaszban.

Példák

Példa a megfelelő gyorsítótár-tárolási szabályzattal

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

Példa szabályzatkifejezések használatával

Ez a példa bemutatja, hogyan konfigurálhatja az API Management válasz gyorsítótárazási időtartamát, amely megfelel a háttérszolgáltatás irányelvében Cache-Control meghatározott válasz gyorsítótárazásának.

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

További információ: Szabályzatkifejezések és környezeti változó.

A szabályzatok használatával kapcsolatos további információkért lásd: