Przechowywanie w pamięci podręcznej
DOTYCZY: Wszystkie warstwy usługi API Management
Zasady cache-store
buforuje odpowiedzi zgodnie z określonymi ustawieniami pamięci podręcznej. Te zasady można stosować w przypadkach, gdy zawartość odpowiedzi pozostaje statyczna przez pewien czas. Buforowanie odpowiedzi zmniejsza wymagania dotyczące przepustowości i przetwarzania na serwerze internetowym zaplecza oraz zmniejsza opóźnienia dla użytkowników interfejsu API.
Uwaga
Te zasady muszą mieć odpowiednie zasady Pobierania z pamięci podręcznej .
Ważne
Wbudowana pamięć podręczna jest niestabilna i współużytkowana przez wszystkie jednostki w tym samym regionie w tej samej usłudze API Management.
Uwaga
Ustaw elementy zasad i elementy podrzędne w kolejności podanej w instrukcji zasad. Aby ułatwić konfigurowanie tych zasad, portal udostępnia edytor oparty na formularzach z przewodnikiem. Dowiedz się więcej na temat ustawiania lub edytowania zasad usługi API Management.
Instrukcja zasad
<cache-store duration="seconds" cache-response="true | false" />
Atrybuty
Atrybut | opis | Wymagani | Wartość domyślna |
---|---|---|---|
czas trwania | Czas wygaśnięcia buforowanych wpisów określonych w sekundach. Wyrażenia zasad są dozwolone. | Tak | Nie dotyczy |
cache-response | Ustaw wartość na wartość , aby true buforować bieżącą odpowiedź HTTP. Jeśli atrybut zostanie pominięty, buforowane są tylko odpowiedzi HTTP z kodem 200 OK stanu. Wyrażenia zasad są dozwolone. |
Nie. | false |
Użycie
- Sekcje zasad: ruch wychodzący
- Zakresy zasad: globalny, obszar roboczy, produkt, interfejs API, operacja
- Bramy: klasyczne, v2, zużycie, self-hosted, obszar roboczy
Uwagi dotyczące użycia
- Usługa API Management buforuje tylko odpowiedzi na żądania HTTP GET.
- Te zasady można użyć tylko raz w sekcji zasad.
Przykłady
Przykład z odpowiednimi zasadami wyszukiwania w pamięci podręcznej
<policies>
<inbound>
<base />
<cache-lookup vary-by-developer="false" vary-by-developer-groups="false" downstream-caching-type="none" must-revalidate="true" caching-type="internal" >
<vary-by-query-parameter>version</vary-by-query-parameter>
</cache-lookup>
</inbound>
<outbound>
<cache-store duration="seconds" />
<base />
</outbound>
</policies>
Przykład użycia wyrażeń zasad
W tym przykładzie pokazano, jak skonfigurować czas buforowania odpowiedzi usługi API Management zgodny z buforowaniem odpowiedzi usługi zaplecza określonym w dyrektywie usługi zaplecza Cache-Control
.
<!-- The following cache policy snippets demonstrate how to control API Management response cache duration with Cache-Control headers sent by the backend service. -->
<!-- Copy this snippet into the inbound section -->
<cache-lookup vary-by-developer="false" vary-by-developer-groups="false" downstream-caching-type="public" must-revalidate="true" >
<vary-by-header>Accept</vary-by-header>
<vary-by-header>Accept-Charset</vary-by-header>
</cache-lookup>
<!-- Copy this snippet into the outbound section. Note that cache duration is set to the max-age value provided in the Cache-Control header received from the backend service or to the default value of 5 min if none is found -->
<cache-store duration="@{
var header = context.Response.Headers.GetValueOrDefault("Cache-Control","");
var maxAge = Regex.Match(header, @"max-age=(?<maxAge>\d+)").Groups["maxAge"]?.Value;
return (!string.IsNullOrEmpty(maxAge))?int.Parse(maxAge):300;
}"
/>
Aby uzyskać więcej informacji, zobacz Wyrażenia zasad i Zmienna kontekstowa.
Powiązane zasady
Powiązana zawartość
Aby uzyskać więcej informacji na temat pracy z zasadami, zobacz:
- Samouczek: przekształcanie i ochrona interfejsu API
- Dokumentacja zasad dla pełnej listy instrukcji zasad i ich ustawień
- Wyrażenia zasad
- Ustawianie lub edytowanie zasad
- Ponowne używanie konfiguracji zasad
- Repozytorium fragmentów zasad
- Tworzenie zasad przy użyciu rozwiązania Microsoft Copilot na platformie Azure