Dela via


Hämta värde från cache

GÄLLER FÖR: Alla API Management-nivåer

cache-lookup-value Använd principen för att utföra cachesökning efter nyckel och returnera ett cachelagrat värde. Nyckeln kan ha ett godtyckligt strängvärde och tillhandahålls vanligtvis med hjälp av ett principuttryck.

Kommentar

Den här principen måste ha ett motsvarande Store-värde i cacheprincipen .

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. Läs mer om hur du anger eller redigerar API Management-principer.

Principuttryck

<cache-lookup-value key="cache key value"
    default-value="value to use if cache lookup resulted in a miss"
    variable-name="name of a variable looked up value is assigned to"
    caching-type="prefer-external | external | internal" />

Attribut

Attribut beskrivning Obligatoriskt Standardvärde
cachelagringstyp Välj mellan följande värden för attributet:
- internal för att använda den inbyggda API Management-cachen,
- external för att använda den externa cachen enligt beskrivningen i Använda en extern Azure Cache for Redis i Azure API Management,
- prefer-external för att använda extern cache om det är konfigurerat eller internt cacheminne på annat sätt.

Principuttryck tillåts inte.
Nej prefer-external
standardvärde Ett värde som tilldelas variabeln om cachenyckelsökningen resulterade i en miss. Om det här attributet inte har angetts null tilldelas. Principuttryck tillåts. Nej null
nyckel Cachenyckelvärde som ska användas i sökningen. Principuttryck tillåts. Ja Ej tillämpligt
variabelnamn Namnet på kontextvariabeln som uppslagsvärdet tilldelas till, om sökningen lyckas. Om sökningen resulterar i en miss anges inte variabeln. Principuttryck tillåts inte. Ja Ej tillämpligt

Förbrukning

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.
  • Den här principen stöds inte i ett principfragment.
  • Vi rekommenderar att du konfigurerar en princip för hastighetsbegränsning (eller princip för hastighetsgräns per nyckel ) omedelbart efter alla cachesökningar. Detta hjälper till att hindra serverdelstjänsten från att överbelastas om cacheminnet inte är tillgängligt.

Exempel

Det här exemplet visar hur du använder cache-lookup-value principen för att hämta en användarprofil från cacheminnet. Nyckeln för cachesökningen skapas med hjälp av ett principuttryck som kombinerar en sträng med värdet för enduserid kontextvariabeln.

Kommentar

Den hastighetsbegränsningsprincip som lagts till efter cachesökningen hjälper till att begränsa antalet anrop för att förhindra överlagring på serverdelstjänsten om cachen inte är tillgänglig.

Se ett exempel på cachelagringsvärde för att lagra användarprofilen i cacheminnet.

<cache-lookup-value
    key="@("userprofile-" + context.Variables["enduserid"])"
    variable-name="userprofile" />
<rate-limit calls="10" renewal-period="60" />

Mer information och exempel på den här principen finns i Anpassad cachelagring i Azure API Management.

Mer information om hur du arbetar med principer finns i: