Delen via


Opslaan in cache toevoegen om de prestaties in Azure API Management te verbeteren

VAN TOEPASSING OP: Ontwikkelaar | Basic | Basic v2 | Standaard | Standard v2 | Premium | Premium v2 | Geïsoleerd

API's en bewerkingen in API Management kunnen worden geconfigureerd met reactiecaching. Antwoordcaching kan de latentie voor API-aanroepers en back-endbelasting voor API-providers aanzienlijk verminderen. In dit artikel wordt beschreven hoe u caching toevoegt aan uw API's.

Belangrijk

De ingebouwde cache is vluchtig en wordt gedeeld door alle eenheden in dezelfde regio in hetzelfde API Management-exemplaar. Ongeacht het gebruikte cachetype (intern of extern), als cachegerelateerde bewerkingen geen verbinding maken met de cache vanwege de volatiliteit van de cache of om een andere reden, veroorzaakt de API-aanroep die gebruikmaakt van de cache-gerelateerde bewerking geen fout en wordt de cachebewerking voltooid. In het geval van een leesbewerking wordt een null-waarde geretourneerd naar de aanroepende beleidsexpressie. Uw beleidscode moet zijn ontworpen om ervoor te zorgen dat er een terugvalmechanisme is om gegevens op te halen die niet in de cache worden gevonden.

Zie de beleidsregels voor API Management-caching en Aangepaste caching in Azure API Management voor meer informatie over caching.

Schermopname van cachebeleid in API Management.

In dit artikel gaat u als volgt te werk:

  • Antwoorden in cache opslaan toevoegen aan de API
  • Controleren of caching werkt

Notitie

Interne caching is niet beschikbaar in de verbruikslaag van Azure API Management. U kunt in plaats daarvan een externe Azure Cache voor Redis gebruiken. U kunt ook een externe cache configureren in andere API Management-servicelagen.

Vereisten

Cachebeleid toevoegen

Met het cachebeleid dat in dit voorbeeld wordt weergegeven, retourneert de eerste aanvraag voor een testbewerking een antwoord van de back-endservice. Dit antwoord wordt in de cache opgeslagen en voorzien van een sleutel door de opgegeven headers en querytekenreeksparameters. Volgende aanroepen naar de bewerking, met overeenkomende parameters, retourneren het antwoord in de cache totdat het cache-interval verstreken is.

  1. Meld u aan bij het Azure-portaal.

  2. Ga naar uw API Management-exemplaar.

  3. Selecteer API's> in het menu aan de linkerkant.

  4. Selecteer een API waarvoor u caching wilt configureren.

  5. Selecteer boven aan het scherm het tabblad Ontwerpen .

  6. Selecteer het -pictogram in de sectie <:

    Schermopname van API Management-API's in de portal.

  7. Voeg in het inbound element het volgende beleid toe:

    <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>
    
  8. Voeg in het outbound element het volgende beleid toe:

    <cache-store duration="20" />
    

    In dit beleid duration geeft u het verloopinterval van de antwoorden in de cache op. Het interval is 20 seconden.

  9. Selecteer Opslaan.

Aanbeveling

Als u een externe cache gebruikt, zoals beschreven in Een externe Azure Cache voor Redis gebruiken in Azure API Management, kunt u het caching-type kenmerk van het cachebeleid opgeven. Zie cachebeleid voor API Management voor meer informatie.

Een bewerking aanroepen om de caching te testen

Als u caching wilt testen, roept u een bewerking aan in de portal.

  1. Ga in Azure Portal naar uw API Management-exemplaar.
  2. Selecteer API's> in het menu aan de linkerkant.
  3. Selecteer de API waaraan u cachebeleidsregels wilt toevoegen.
  4. Selecteer een bewerking die u wilt testen.
  5. Selecteer het tabblad Testen boven aan het venster.
  6. Selecteer Twee of drie keer achter elkaar traceren .
  7. Selecteer onder HTTP-antwoord het tabblad Traceren .
  8. Ga naar de sectie Inkomend verkeer en schuif naar het cache-lookup beleid. Er wordt een bericht weergegeven dat lijkt op het bericht in de volgende schermopname. Dit geeft een cachetreffer aan: Schermopname van cachezoekactie bij het testen van een API in de portal.