Dela via


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 | Premium v2 | Isolerad

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. I den här artikeln beskrivs hur du lägger till cachelagring i dina API:er.

Viktigt!

Den inbyggda cachen är instabil och delas av alla enheter i samma region i samma API Management-instans. Oavsett vilken cachetyp som används (intern eller extern), om cacherelaterade åtgärder inte kan ansluta till cacheminnet på grund av cachens volatilitet eller av någon annan anledning, genererar INTE API-anropet som använder den cacherelaterade åtgärden något fel och cacheåtgärden slutförs. 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.

Skärmbild som visar cacheprinciper i API Management.

I den här artikeln får du:

  • Lägg till cachelagring med svar för ditt API
  • Kontrollera att cachelagring fungerar

Kommentar

Intern cachelagring är inte tillgängligt på förbrukningsnivån 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

Lägga till cachelagringsprinciper

Med de cachelagringsprinciper som visas i det här exemplet returnerar den första begäran till en teståtgärd ett svar från serverdelstjänsten. Svaret cachelagras och registreras av de angivna sidhuvudena och frågesträngsparametrarna. Efterföljande anrop till åtgärden, med matchande parametrar, returnerar det cachelagrade svaret tills intervallet för cachevaraktighet upphör att gälla.

  1. Logga in på Azure-portalen.

  2. Gå till din API Management-instans.

  3. Välj API:er>i menyn till vänster.

  4. Välj ett API som du vill konfigurera cachelagring för.

  5. Välj fliken Design överst på skärmen.

  6. I avsnittet Inkommande bearbetning väljer du <ikonen /> :

    Skärmbild som visar API Management-API:er i portalen.

  7. Lägg till följande princip i elementet inbound :

    <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>
    <rate-limit calls="10" renewal-period="60" />
    

    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.

  8. Lägg till följande princip i elementet outbound :

    <cache-store duration="20" />
    

    I den här principen duration anger du förfallointervallet för cachelagrade svar. Intervallet är 20 sekunder.

  9. Välj Spara.

Dricks

Om du använder en extern cache, enligt beskrivningen i caching-type, kanske du vill ange attributet för cachelagringsprinciperna. Mer information finns i Cachelagringsprinciper för API Management .

Anropa en åtgärd för att testa cachelagringen

Om du vill testa cachelagring anropar du en åtgärd i portalen.

  1. I Azure Portal går du till din API Management-instans.
  2. Välj API:er>i menyn till vänster.
  3. Välj det API där du har lagt till cachelagringsprinciper.
  4. Välj en åtgärd att testa.
  5. Välj fliken Test överst i fönstret.
  6. Välj Spåra två eller tre gånger i snabb följd.
  7. Under HTTP-svar väljer du fliken Spårning .
  8. Gå till avsnittet Inkommande och bläddra till cache-lookup principen. Du bör se ett meddelande som liknar det i följande skärmbild, som anger en cacheträff: Skärmbild av cache-lookup när du testar ett API i portalen.