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

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.

Belangrijk

De ingebouwde cache is vluchtig en wordt gedeeld door alle eenheden in dezelfde regio in dezelfde API Management-service. Ongeacht het gebruikte cachetype (intern of extern), als de cachegerelateerde bewerkingen geen verbinding kunnen maken met de cache vanwege de vluchtigheid van de cache of andere redenen, veroorzaakt de API-aanroep die gebruikmaakt van de cachegerelateerde 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 zijn gevonden. Zie de beleidsregels voor API Management-caching en Aangepaste caching in Azure API Management voor meer informatie over caching.

cachebeleid

Wat u leert:

  • Antwoorden in cache opslaan toevoegen aan de API
  • Verificatie van opslaan in de cache in actie

Notitie

Interne cache is niet beschikbaar in de laag Verbruik 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

Vereisten om deze zelfstudie te voltooien:

De cachebeleidsregels toevoegen

Met 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. Voor volgende aanroepen voor de bewerking, met overeenkomende parameters, wordt het antwoord geretourneerd dat in de cache is opgeslagen, tot het cacheduurinterval is verlopen.

  1. Meld u aan bij het Azure-portaal.

  2. Blader 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 in het scherm het tabblad Ontwerp.

  6. Selecteer in de sectie Binnenkomende verwerking het </> -pictogram. Schermopname van de API Management-beleidseditor 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 geeft de duur het verloopinterval van de antwoorden in de cache op. In dit voorbeeld bedraagt het interval 20 seconden.

Tip

Als u een externe cache gebruikt, zoals is beschreven in Een externe Azure Cache voor Redis gebruiken in Azure API Management, wilt u misschien het kenmerk caching-type van het cachebeleid opgeven. Zie API Management caching policies (Cache-beleidsregels van API Management) voor meer informatie.

Een bewerking aanroepen en het opslaan in de cache testen

Als u de cache in actie wilt zien, roept u een bewerking aan vanuit de portal.

  1. Blader 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 in het menu rechtsboven.
  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, waarmee een cachetreffer wordt aangegeven: Schermopname van cachezoekactie bij het testen van een API in de portal.