Lägga till cachelagring för att förbättra prestanda i Azure API Management

GÄLLER FÖR: Utvecklare | Grundläggande | Basic v2 | Standard | Standard v2 | Premium

API:er och åtgärder i API Management kan konfigureras med cachelagring av svar. Cachelagring av svar kan avsevärt minska svarstiden för API-anropare och serverdelsbelastning för API-leverantörer.

Viktigt!

Den inbyggda cachen är instabil och delas av alla enheter i samma region i samma API Management-tjänst. Oavsett vilken cachetyp som används (intern eller extern), om cacherelaterade åtgärder inte kan ansluta till cachen på grund av cachens obeständighet eller någon annan orsak, genererar API-anropet som använder den cacherelaterade åtgärden inte ett fel, och cacheåtgärden slutförs korrekt. När det gäller en läsåtgärd returneras ett null-värde till det anropande principuttrycket. Din principkod bör utformas för att säkerställa att det finns en återställningsmekanism för att hämta data som inte finns i cacheminnet. Mer detaljerad information om cachelagring finns i Principer för cachelagring för API Management och Anpassad cachelagring i Azure API Management.

principer för cachelagring

Detta får du får lära dig:

  • Lägg till cachelagring med svar för ditt API
  • Verifiera cachelagring i praktiken

Kommentar

Internt cacheminne är inte tillgängligt på nivån Förbrukning för Azure API Management. Du kan använda en extern Azure Cache for Redis istället. Du kan också konfigurera en extern cache på andra API Management-tjänstnivåer.

Förutsättningar

För att slutföra den här kursen behöver du:

Lägg till cachelagringsprinciperna

Med cachelagringsprinciperna i det här exemplet returnerar den första begäran till GetSpeakers ett svar från serverdeltjänsten. Svaret cachelagras och registreras av de angivna sidhuvudena och frågesträngsparametrarna. För efterföljande anrop till åtgärden, med matchande parametrar, returneras det cachelagrade svaret till cachlagringsintervallets slut.

  1. Logga in på Azure-portalen.

  2. Bläddra till APIM-instansen.

  3. Välj fliken API.

  4. Klicka på Demo Conference API i API-listan.

  5. Välj GetSpeakers.

  6. Överst på skärmen väljer du fliken Design.

  7. I avsnittet Inkommande bearbetning klickar du på <ikonen /> .

    kodredigeraren

  8. I inkommande element lägger du till följande princip:

    <cache-lookup vary-by-developer="false" vary-by-developer-groups="false">
        <vary-by-header>Accept</vary-by-header>
        <vary-by-header>Accept-Charset</vary-by-header>
        <vary-by-header>Authorization</vary-by-header>
    </cache-lookup>
    
  9. I utgående element lägger du till följande princip:

    <cache-store duration="20" />
    

    Varaktighet anger giltighetsintervallet för de cachelagrade svaren. I det här exemplet är intervallet 20 sekunder.

Dricks

Om du använder en extern cache enligt beskrivningen i Använda en extern Azure Cache for Redis i Azure API Management kan det vara bra att ange attributet caching-type för cachelagringsprinciperna. Mer information finns i Principer för API Management-cachelagring.

Anropa en åtgärd och testa cachelagringen

Om du vill se hur cachelagringen fungerar i praktiken kan du anropa åtgärden från utvecklarportalen.

  1. Bläddra till APIM-instansen i Azure Portal.
  2. Välj fliken API:er.
  3. Välj det API där du har lagt till cachelagringsprinciper.
  4. Välj åtgärden GetSpeakers.
  5. Klicka på fliken Test på menyn längst upp till höger.
  6. Tryck på Skicka.

Nästa steg