Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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,- external a külső gyorsítótár használata a külső Redis-kompatibilis gyorsítótár használata az Azure API Managementben 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 |
| kötelező újraérvényesítés | 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, AuthorizationExpectFromHostIf-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
- Szabályzatszakaszok: bejövő
- Szabályzathatókörök: globális, munkaterület, termék, API, művelet
- Átjárók: klasszikus, v2, használat, saját üzemeltetésű, munkaterület
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útumotcopy-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.
- Ez a szabályzat nem támogatott egy szabályzattöredékben.
- Javasoljuk, hogy a gyorsítótár-keresés után azonnal konfiguráljon egy sebességkorlátozó szabályzatot (vagy kulcsonkénti sebességkorlátozási szabályzatot). Ez segít abban, hogy a háttérszolgáltatás túlterhelt legyen, ha a gyorsítótár nem érhető el.
Példák
Példa a megfelelő gyorsítótár-tárolási szabályzattal
Ez a példa bemutatja, hogyan használható a cache-store szabályzat és a cache-lookup szabályzat a válaszok gyorsítótárazására a beépített API Management-gyorsítótárban.
Feljegyzés
Adjon hozzá egy sebességkorlát-szabályzatot (vagy kulcsonkénti sebességkorlátozási szabályzatot) a gyorsítótár-keresés után, hogy korlátozza a hívások számát, és megakadályozza a háttérszolgáltatás túlterhelését abban az esetben, ha a gyorsítótár nem érhető el.
<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>
<rate-limit calls="10" renewal-period="60" />
</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>
<rate-limit calls="10" renewal-period="60" />
<!-- 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ó.
Kapcsolódó szabályzatok
Kapcsolódó tartalom
A szabályzatok használatával kapcsolatos további információkért lásd:
- Oktatóanyag: AZ API átalakítása és védelme
- Szabályzathivatkozás a szabályzatutasságok és azok beállításainak teljes listájához
- Házirend-kifejezések
- Házirendek beállítása vagy szerkesztése
- Szabályzatkonfigurációk újrafelhasználása
- Szabályzatrészletek adattára
- Policy-minták adattára
- Azure API Management irányelvek eszköztára
- A Copilot segítségével szabályzatokat hozhat létre, magyarázhat el és háríthat el hibákat.