Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
Przechowuje dane z zasobu backendu w pamięci podręcznej, zmniejszając liczbę żądań do zasobu. Jako aplikacje możesz wysyłać żądania do tego samego identyfikatora URI, za pomocą tej zasady możesz zwracać odpowiedzi z pamięci podręcznej, a nie i przekierowuje te żądania do serwera backendu. Zasada ResponseCache może poprawić wydajność pracy dzięki zmniejszeniu opóźnień i ruchu w sieci.
Prawdopodobnie najbardziej przyda Ci się ResponseCache, gdy dane backendu używane przez interfejs API zostaną zaktualizowane. tylko okresowo. Załóżmy na przykład, że masz interfejs API, który ujawnia dane z raportów pogodowych. odświeża się tylko co 10 minut. Przez używanie ResponseCache do zwracania odpowiedzi z pamięci podręcznej między odświeżenia, możesz zmniejszyć liczbę żądań docierających do backendu. Zmniejsza to również liczby przeskoków sieciowych.
Do krótkoterminowego buforowania ogólnego przeznaczenia, rozważ zastosowanie zasady Wypełnij pamięć podręczną. Zasada ta jest używana w połączeniu z zasadą pamięci podręcznej wyszukiwania (do odczytu wpisów pamięci podręcznej) oraz Unieważnij zasadę dotyczącą pamięci podręcznej (do unieważniania wpisów).
Obejrzyj ten film, aby zapoznać się z zasadami dotyczącymi pamięci podręcznej odpowiedzi.
Przykłady
10-minutowa pamięć podręczna
Ten przykład pokazuje, jak przechowywać odpowiedzi w pamięci podręcznej przez 10 minut.
Załóżmy, że masz interfejs API pod tym adresem URL:
http://{org_name}-test.apigee.net/weather/forecastrss?w=23424778
Parametru zapytania w
używasz jako klucza pamięci podręcznej. Apigee Edge sprawdza
wartości parametru zapytania w
po otrzymaniu żądania. Jeśli jest
że w pamięci podręcznej znajduje się nieważna odpowiedź, odpowiedź jest
zwróć się do klienta, który wysłał żądanie.
Teraz wyobraź sobie, że masz zasadę ResponseCache skonfigurowaną w następujący sposób.
<ResponseCache name="ResponseCache"> <CacheKey> <KeyFragment ref="request.queryparam.w" /> </CacheKey> <ExpirySettings> <TimeoutInSeconds>600</TimeoutInSeconds> </ExpirySettings> </ResponseCache>
Gdy serwer proxy interfejsu API po raz pierwszy otrzyma komunikat z żądaniem dotyczący poniższego adresu URL, zostanie zwrócony błąd jest buforowana. Przy drugim żądaniu w ciągu 10 minut następuje wyszukiwanie w pamięci podręcznej – odpowiedź z pamięci podręcznej jest zwracana do aplikacji bez przekazywania żądań do usługi backendu.
http://{org_name}-test.apigee.net/weather/forecastrss?w=23424778
Pomiń wyszukiwanie pamięci podręcznej
Poniższy przykład pokazuje, jak pominąć wyszukiwanie w pamięci podręcznej i korzystać z pamięci podręcznej odświeżony. Zobacz też . w tym filmie na temat korzystania z funkcji SkipCacheOptions.
Opcjonalny warunek SkipCachelookup (jeśli został skonfigurowany) jest sprawdzany w ścieżce żądania. Jeśli warunek zwróci wartość prawda, wyszukiwanie w pamięci podręcznej zostanie pominięte, a pamięć podręczna zostanie odświeżony.
Typowym zastosowaniem warunkowego odświeżania pamięci podręcznej jest warunek, który definiuje określony nagłówek, który powoduje, że warunek jest oceniany jako prawda. Aplikacja kliencka oparta na skryptach może być skonfigurowana tak, aby okresowo przesyłać żądanie z odpowiednim nagłówkiem HTTP, jawnie powoduje odświeżenie pamięci podręcznej odpowiedzi.
Wyobraź sobie na przykład wywołanie interfejsu API pod tym adresem URL:
'http://{org_name}-test.apigee.net/weather/forecastrss?w=23424778' -H "bypass-cache:true"
Teraz wyobraź sobie następującą zasadę ResponseCache skonfigurowaną na tym serwerze proxy. Pamiętaj, że parametr Warunek pomijania pamięci podręcznej ma wartość prawda.
<ResponseCache name="ResponseCache"> <CacheKey> <KeyFragment ref="request.queryparam.w" /> </CacheKey> <!-- Explicitly refresh the cached response --> <SkipCacheLookup>request.header.bypass-cache = "true"</SkipCacheLookup> <ExpirySettings> <TimeoutInSeconds>600</TimeoutInSeconds> </ExpirySettings> </ResponseCache>
Więcej informacji o warunkach znajdziesz w sekcji Zmienne przepływu i .
Odwołanie do elementu
Odwołanie do elementu opisuje elementy i atrybuty zasady.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ResponseCache async="false" continueOnError="false" enabled="true" name="Response-Cache-1"> <DisplayName>Response Cache 1</DisplayName> <Properties/> <CacheKey> <Prefix/> <KeyFragment ref="request.uri" /> </CacheKey> <Scope>Exclusive</Scope> <ExpirySettings> <ExpiryDate/> <TimeOfDay/> <TimeoutInSeconds ref="flow.variable.here">300</TimeoutInSeconds> </ExpirySettings> <CacheResource>cache_to_use</CacheResource> <CacheLookupTimeoutInSeconds/> <ExcludeErrorResponse/> <SkipCacheLookup/> <SkipCachePopulation/> <UseAcceptHeader/> <UseResponseCacheHeaders/> </ResponseCache>
<ResponseCache> atrybuty
<ResponseCache async="false" continueOnError="false" enabled="true" name="Response-Cache-1">
W tej tabeli opisano atrybuty wspólne dla wszystkich elementów nadrzędnych zasad:
Atrybut | Opis | Domyślny | Obecność |
---|---|---|---|
name |
Wewnętrzna nazwa zasady. Wartość atrybutu Opcjonalnie możesz użyć elementu |
Nie dotyczy | Wymagane |
continueOnError |
Ustaw jako Ustaw jako |
fałsz | Opcjonalnie |
enabled |
Aby egzekwować zasadę, ustaw wartość Aby wyłączyć zasadę, ustaw wartość |
prawda | Opcjonalnie |
async |
Ten atrybut został wycofany. |
fałsz | Wycofano |
<DisplayName> element
Używaj oprócz atrybutu name
do oznaczania zasady w
edytor proxy interfejsu zarządzania z inną nazwą w języku naturalnym.
<DisplayName>Policy Display Name</DisplayName>
Domyślny |
Nie dotyczy Jeśli pominiesz ten element, atrybut |
---|---|
Obecność | Opcjonalnie |
Typ | Ciąg znaków |
<CacheKey> element
Konfiguruje unikalny wskaźnik danych przechowywanych w pamięci podręcznej.
Rozmiar kluczy pamięci podręcznej nie może przekraczać 2 KB.
<CacheKey> <Prefix>string</Prefix> <KeyFragment ref="variable_name" /> <KeyFragment>literal_string</KeyFragment> </CacheKey>
Domyślne: |
Nie dotyczy |
Obecność: |
Wymagane |
Typ: |
Nie dotyczy |
<CacheKey>
tworzy nazwę każdego fragmentu danych przechowywanych w pamięci podręcznej.
Klucz jest często ustawiany za pomocą wartości z nagłówków encji lub parametrów zapytania. W takich przypadkach
atrybut ref elementu określa zmienną zawierającą wartość klucza.
W czasie działania wartości <KeyFragment>
są dodawane prefiksem
Wartość elementu <Scope>
lub <Prefix>
. Na przykład parametr
daje w rezultacie klucz pamięci podręcznej równy
UserToken__apiAccessToken__
<value_of_client_id>:
<CacheKey> <Prefix>UserToken</Prefix> <KeyFragment>apiAccessToken</KeyFragment> <KeyFragment ref="request.queryparam.client_id" /> </CacheKey>
Elementu <CacheKey>
używasz w połączeniu z:
<Prefix>
i <Scope>
. Więcej informacji znajdziesz w artykule na temat pracy z kluczami pamięci podręcznej.
<CacheLookupTimeoutInSeconds> element
Określa liczbę sekund, po których nieudane wyszukiwanie w pamięci podręcznej jest uważane za w pamięci podręcznej. W takim przypadku przepływ zostanie wznawiany na ścieżce braku pamięci podręcznej.
<CacheLookupTimeoutInSeconds>30</CacheLookupTimeoutInSeconds>
Domyślne: |
30 |
Obecność: |
Opcjonalnie |
Typ: |
Liczba całkowita |
<CacheResource> element
Określa pamięć podręczną, w której mają być przechowywane wiadomości. Pomiń ten element, aby użyć uwzględnionych elementów współużytkowana pamięć podręczna. Musisz podać nazwę CacheResource, jeśli chcesz mieć możliwość administrator może usunąć wpisy zawarte w pamięci podręcznej. Więcej informacji na ten temat znajdziesz w artykule Pamięci podręczne.
<CacheResource>cache_to_use</CacheResource>
Domyślne: |
Nie dotyczy |
Obecność: |
Opcjonalnie |
Typ: |
Ciąg znaków |
Więcej informacji o konfigurowaniu pamięci podręcznych znajdziesz w sekcji Tworzenie i edytowanie środowiska Cache.
<CacheKey>/<KeyFragment> element
Określa wartość, która powinna być uwzględniona w kluczu pamięci podręcznej, tworząc przestrzeń nazw na potrzeby dopasowywania żądań odpowiedzi w pamięci podręcznej.
<KeyFragment ref="variable_name"/> <KeyFragment>literal_string</KeyFragment>
Domyślne: |
Nie dotyczy |
Obecność: |
Opcjonalnie |
Typ: |
Nie dotyczy |
Może to być klucz (podana przez Ciebie statyczna nazwa) lub wartość (wpis dynamiczny ustawiony przez odwołania do zmiennej). Wszystkie określone fragmenty łącznie (plus prefiks) są połączone z utwórz klucz pamięci podręcznej.
<KeyFragment>apiAccessToken</KeyFragment> <KeyFragment ref="request.queryparam.client_id" />
Elementu <KeyFragment>
używasz w połączeniu z:
<Prefix>
i <Scope>
. Więcej informacji znajdziesz w artykule na temat pracy z kluczami pamięci podręcznej.
Atrybuty
Atrybut | Typ | Domyślny | Wymagane | Opis |
---|---|---|---|---|
odsyłacz | ciąg znaków | Nie |
Zmienna, z której ma zostać pobrana wartość. Nie należy używać, jeśli ten element zawiera wartość literałową. |
<CacheKey>/<Prefix> element
Określa wartość, która ma być używana jako prefiks klucza pamięci podręcznej.
<Prefix>prefix_string</Prefix>
Domyślne: |
Nie dotyczy |
Obecność: |
Opcjonalnie |
Typ: |
Ciąg znaków |
Użyj tej wartości zamiast <Scope>
, jeśli chcesz określić własną wartość
zamiast wartości wyliczanej <Scope>
. Jeśli zostanie określona,
<Prefix>
dodaje na początku wartość klucza pamięci podręcznej dla wpisów zapisanych w pamięci podręcznej. O
Wartość elementu <Prefix>
zastępuje element <Scope>
.
Elementu <Prefix>
używasz w połączeniu z:
<CacheKey>
i <Scope>
. Więcej informacji znajdziesz w artykule na temat pracy z kluczami pamięci podręcznej.
<ExcludeErrorResponse> element
Obecnie ta zasada domyślnie buforuje odpowiedzi HTTP ze wszystkimi możliwymi Kod stanu. Oznacza to, że zarówno odpowiedzi udane, jak i błędy są zapisywane w pamięci podręcznej. Na przykład odpowiedzi z Zarówno kody stanu 2xx, jak i 3xx są domyślnie zapisywane w pamięci podręcznej.
Jeśli nie chcesz zapisywać celu w pamięci podręcznej, ustaw ten element na true
odpowiedzi z kodami stanu błędów HTTP; tylko odpowiedzi z kodami stanu od 200 do 205 będą
jeśli ten element ma wartość prawda, w pamięci podręcznej. To jedyne kody stanu HTTP, jako które Edge liczy
„sukces” i nie będzie można zmienić tego powiązania.
Informacje o wzorcach pamięci podręcznej odpowiedzi, w których ten element jest przydatny, znajdziesz w tym poście na karcie Społeczność.
Uwaga: w przyszłej wersji (do ustalenia) domyślne ustawienie tego zmieni się na true. Zobacz Apigee Informacje o wersji.
<ExcludeErrorResponse>true</ExcludeErrorResponse>
Domyślne: |
fałsz |
Obecność: |
Opcjonalnie |
Typ: |
Wartość logiczna |
<ExpirySettings> element
Określa, kiedy wpis w pamięci podręcznej powinien wygasnąć. Jeśli jest dostępny, <TimeoutInSeconds>
zastępuje zarówno <TimeOfDay>
, jak i <ExpiryDate>
.
<ExpirySettings> <TimeOfDay ref="time_variable">expiration_time</TimeOfDay> <TimeoutInSeconds ref="duration_variable">seconds_until_expiration</TimeoutInSeconds> <ExpiryDate ref="date_variable">expiration_date</ExpiryDate> </ExpirySettings>
Domyślne: |
Nie dotyczy |
Obecność: |
Wymagane |
Typ: |
Nie dotyczy |
<ExpirySettings>/<ExpiryDate> element
Określa datę wygaśnięcia wpisu w pamięci podręcznej. Użyj formularza mm-dd-yyyy
.
Jeśli ten element jest obecny, jego odpowiednik (<TimeoutInSeconds>
) zastępuje
<ExpiryDate>
<ExpirySettings> <ExpiryDate ref="{date_variable}">expiration_date</ExpiryDate> </ExpirySettings>
Domyślne: |
Nie dotyczy |
Obecność: |
Opcjonalnie |
Typ: |
Ciąg znaków |
Atrybuty
<ExpiryDate ref="" />
Atrybut | Opis | Domyślny | Obecność | Typ |
---|---|---|---|---|
odsyłacz |
Zmienna, z której ma zostać pobrana wartość. Nie należy używać, jeśli ten element zawiera wartość literałową. |
Nie dotyczy | Opcjonalnie | Ciąg znaków |
<ExpirySettings>/<TimeOfDay> element
Pora dnia, o której wpis pamięci podręcznej powinien wygasnąć. Użyj formularza hh:mm:ss
.
Jeśli ten element jest obecny, jego odpowiednik (<TimeoutInSeconds>
) zastępuje
<TimeOfDay>
Podaj godzinę w formacie GG:mm:ss, gdzie GG oznacza godzinę na zegarze 24-godzinnym. Dla: np. 14:30:00 dla 2:30 po południu.
W przypadku pory dnia domyślne ustawienia regionalne i strefa czasowa będą się różnić w zależności od lokalizacji kodu. uruchomionych (który nie jest znany podczas konfigurowania zasady). Informacje na temat konfigurowania Więcej informacji można znaleźć w sekcji Tworzenie i edytowanie pamięci podręcznej środowiska.
<ExpirySettings> <TimeOfDay ref="time_variable">expiration_time</TimeOfDay> </ExpirySettings>
Domyślne: |
Nie dotyczy |
Obecność: |
Opcjonalnie |
Typ: |
Ciąg znaków |
Atrybuty
Atrybut | Opis | Domyślny | Obecność | Typ |
---|---|---|---|---|
odsyłacz | Zmienna z wartością czasu ważności. | Nie dotyczy | Opcjonalnie | Ciąg |
<ExpirySettings>/<TimeoutInSec> element
Liczba sekund, po których wpis w pamięci podręcznej powinien wygasnąć.
<ExpirySettings>/<TimeoutInSeconds> element
Liczba sekund, po których wpis w pamięci podręcznej powinien wygasnąć. Jeśli ten element jest obecny,
zastępuje jego elementy potomne, <TimeOfDay>
i <ExpiryDate>
.
<ExpirySettings> <TimeoutInSeconds ref="duration_variable">seconds_until_expiration</TimeoutInSeconds> </ExpirySettings>
Uwaga: podaj domyślną wartość limitu czasu, która będzie używana, gdy odsyłający nie otrzyma wartości z pliku
duration_variable
Domyślne: |
Nie dotyczy |
Obecność: |
Opcjonalnie |
Typ: |
Ciąg znaków |
Atrybuty
Atrybut | Opis | Domyślny | Obecność | Typ |
---|---|---|---|---|
odsyłacz | Zmienna z wartością limitu czasu. |
Nie dotyczy
|
Opcjonalnie | Ciąg znaków |
<Scope> element
Wyliczenie używane do tworzenia prefiksu klucza pamięci podręcznej, gdy <Prefix>
element <CacheKey>
nie zawiera elementu.
<Scope>scope_enumeration</Scope>
Domyślne: |
„Ekskluzywna” |
Obecność: |
Opcjonalnie |
Typ: |
Ciąg znaków |
Ustawienie <Scope>
określa klucz pamięci podręcznej, który jest dodawany zgodnie z
wartość <Scope>
. Na przykład klucz pamięci podręcznej może mieć następującą postać, gdy:
zakres jest ustawiony na Exclusive
:
orgName__envName__apiProxyName__deployedRevisionNumber__proxy|TargetName__ [
serializedCacheKey ].
Jeśli element <Prefix>
występuje w elemencie <CacheKey>
,
zastępuje wartość elementu <Scope>
. Prawidłowe wartości obejmują wyliczenia
poniżej.
Elementu <Scope>
używasz w połączeniu z:
<CacheKey>
i <Prefix>
. Więcej informacji znajdziesz w artykule na temat pracy z kluczami pamięci podręcznej.
Dopuszczalne wartości
Wartość zakresu | Opis |
---|---|
Global |
Klucz pamięci podręcznej jest wspólny dla wszystkich serwerów proxy interfejsów API wdrożonych w środowisku. Klucz pamięci podręcznej to zostanie dołączony do postaci orgName __ envName __. Jeśli zdefiniujesz wpis |
Application |
Jako prefiks jest używana nazwa serwera proxy interfejsu API. Klucz pamięci podręcznej ma postać orgName__envName__apiProxyName. |
Proxy |
Jako prefiks jest używana konfiguracja ProxyEndpoint. Klucz pamięci podręcznej jest dodawany do formularza orgName__envName__apiProxyName__deployedRevisionNumber__proxyEndpointName |
Target |
Jako prefiks używana jest konfiguracja docelowego punktu końcowego. Klucz pamięci podręcznej dodany na początku formularza orgName__envName__apiProxyName__deployedRevisionNumber__targetEndpointName |
Exclusive |
Domyślny: Jest to najbardziej szczegółowe rozwiązanie, więc wiąże się z minimalnym ryzykiem związanym z przestrzenią nazw i konfliktach w danej pamięci podręcznej. Prefiks może mieć jedną z dwóch form:
Klucz pamięci podręcznej dodany na początku formularza orgName__envName__apiProxyName__deployedRevisionNumber__proxyNameITargetName Pełny ciąg znaków może na przykład wyglądać tak: apifactory__test__weatherapi__16__default__apiAccessToken. |
<SkipCacheLookup> element
Definiuje wyrażenie, które, jeśli w czasie działania zwraca wartość prawda, wskazuje, że wyszukiwanie w pamięci podręcznej należy pominąć i odświeżyć pamięć podręczną. Zobacz też ten artykuł wideo o korzystaniu z metody SkipCacheOptions.
<SkipCacheLookup>variable_condition_expression</SkipCacheLookup>
Domyślne: |
Nie dotyczy |
Obecność: |
Opcjonalnie |
Typ: |
Ciąg znaków |
W poniższym przykładzie: jeśli zmienna pomijania pamięci podręcznej ma w nagłówku przychodzącego wartość „true” (prawda), wyszukiwanie w pamięci podręcznej zostanie pominięte, a pamięć podręczna zostanie odświeżona.
<SkipCacheLookup>request.header.bypass-cache = "true"</SkipCacheLookup>
<SkipCachePopulation> element
Definiuje wyrażenie, które po zastosowaniu go do wartości prawda w czasie działania określa, że zapis w funkcji należy pominąć. Zobacz też ten artykuł wideo na temat korzystania z metody SkipCachePopulacja.
<SkipCachePopulation>variable_condition_expression</SkipCachePopulation>
Domyślne: |
Nie dotyczy |
Obecność: |
Opcjonalnie |
Typ: |
Ciąg znaków |
Przykład poniżej spowoduje pominięcie zapisu w pamięci podręcznej, jeśli kod stanu odpowiedzi to 400 lub wyższe:
<SkipCachePopulation>response.status.code >= 400</SkipCachePopulation>
<UseAcceptHeader> element
Ustaw jako true
, aby klucz pamięci podręcznej wpisu odpowiedzi był uzupełniany wartościami z
odpowiedź Zaakceptuj nagłówki.
Edge używa interfejsów Accept
, Accept-Encoding
i Accept-Language
i nagłówkach żądań Accept-Charset
przy obliczaniu klucza pamięci podręcznej. To podejście
uniemożliwia klientowi uzyskanie typu mediów, o który nie prosił.
Zastanów się na przykład, czy 2 żądania przychodzą z tego samego adresu URL, przy czym pierwsze z nich akceptuje kod gzip, a drugi nie. Pierwsze żądanie zostanie zapisane w pamięci podręcznej, a wpis w pamięci podręcznej – być może to odpowiedź w pliku gzip. Drugie żądanie odczyta wartość z pamięci podręcznej, a następnie zwrócenie wpisu skompresowanego do kodu gzip klientowi, który nie może odczytać tego pliku.
Więcej informacji znajdziesz w sekcji Konfigurowanie klucza pamięci podręcznej.
<UseAcceptHeader>false</UseAcceptHeader>
Domyślne: |
fałsz |
Obecność: |
Opcjonalnie |
Typ: |
Wartość logiczna |
<UseResponseCacheHeaders> element
Ustaw jako true
, aby nagłówki odpowiedzi HTTP były brane pod uwagę podczas ustawiania czasu
na żywo” (TTL) odpowiedzi w pamięci podręcznej. Jeśli to prawda, Edge bierze pod uwagę wartości pary klucz-wartość
podane niżej nagłówki odpowiedzi, porównując wartości z wartościami ustawionymi przez
<ExpirySettings>
podczas ustawiania czasu publikacji:
Cache-Control s-maxage
Cache-Control max-age
Expires
Więcej informacji znajdziesz w artykule Ustawianie daty wygaśnięcia wpisu w pamięci podręcznej. .
<UseResponseCacheHeaders>false</UseResponseCacheHeaders>
Domyślne: |
fałsz |
Obecność: |
Opcjonalnie |
Typ: |
Wartość logiczna |
Zastosowanie
Maksymalny rozmiar każdego obiektu w pamięci podręcznej to 256 KB. (Szczegółowe informacje na temat tego, jak przeglądarka Edge pamięć podręczna procesów, patrz Pamięć podręczna wewnętrznych).
Dzięki konfiguracji w zasadzie ResponseCache możesz włączyć odpowiedź HTTP do przeglądarki Edge nagłówki w ustawianiu daty ważności wpisu w pamięci podręcznej i kluczy pamięci podręcznej. W tej sekcji opisano, jak używać z nagłówkami do zarządzania wygaśnięciem pamięci podręcznej i kluczami pamięci podręcznej.
Więcej informacji o tym, jak Edge obsługuje nagłówki odpowiedzi z użyciem zasady ResponseCache, znajdziesz w artykule Obsługa nagłówków odpowiedzi HTTP.
Ustawianie daty wygaśnięcia wpisu w pamięci podręcznej
Podobnie jak w przypadku
pola Wypełnij
zasadom pamięci podręcznej, możesz ustawić datę wygaśnięcia (czasu życia) wpisu w pamięci podręcznej odpowiedzi za pomocą
<ExpirySettings>
. W zasadzie ResponseCache możesz też mieć przeglądarkę Edge
uwzględnianie nagłówków odpowiedzi, jeśli są dostępne.
Aby używać nagłówków odpowiedzi, ustaw wartość elementu <UseResponseCacheHeaders>
na
true (prawda). To ustawienie powoduje, że Edge bierze pod uwagę nagłówki odpowiedzi i porównuje je ze zbiorem wartości
przez <ExpirySettings>
, a potem użyj najmniejszej z nich. Kiedy
biorąc pod uwagę nagłówki odpowiedzi, Edge wybiera dostępną wartość zgodnie z opisem w
:
Wyobraź sobie na przykład, że odpowiedź jest zapisywana w pamięci podręcznej z tymi wartościami:
- Brak wartości
Cache-Control s-maxage
- Wartość
Cache-Control max-age
wynosząca 300 Expires
– data za 3 dni- Wartość
<ExpirySettings>
TimeoutInSeconds
wynosząca 600.
W tym przypadku w parametrze Cache-Control
max-age
zostanie użyta wartość
TTL, ponieważ jest on mniejszy niż wartość <ExpirySettings>
oraz ze względu na istnienie
brak wartości Cache-Control s-maxage
(mającej pierwszeństwo przed
max-age
).
Konfigurowanie klucza pamięci podręcznej
Podobnie jak w przypadku zasad pamięci podręcznej ogólnego przeznaczenia, takich jak zasada Wypełnij pamięć podręczną, atrybut
ResponseCache – użycie elementów <CacheKey>
i <Scope>
do
skonfigurować tworzenie klucza pamięci podręcznej dla wpisów pamięci podręcznej. Dzięki ResponseCache możesz też tworzyć klucze pamięci podręcznej.
bardziej przydatnych jest dodanie nagłówków odpowiedzi Accept do par klucz-wartość.
Ogólne informacje o konfigurowaniu kluczy pamięci podręcznej znajdziesz w artykule Praca z kluczami pamięci podręcznej. Dla:
Więcej informacji o korzystaniu z nagłówków Accept znajdziesz tutaj: <UseAcceptHeader>
.
Informacje o szyfrowaniu pamięci podręcznej
Edge for Public Cloud: pamięć podręczna jest szyfrowana tylko w PCI – i zgodne z HIPAA organizacji non-profit. Szyfrowanie w tych organizacjach jest skonfigurowane podczas organizacji. i udostępnianie danych.
Zmienne przepływu
Poniższe wstępnie zdefiniowane zmienne przepływu są wypełniane przy wykonywaniu zasady ResponseCache. Więcej informacji o zmiennych Flow znajdziesz w dokumentacji zmiennych.
Zmienne | Typ | Uprawnienie | Opis |
---|---|---|---|
responsecache.{policy_name}.cachename |
Ciąg znaków | Tylko do odczytu | Zwraca pamięć podręczną używaną w zasadzie |
responsecache.{policy_name}.cachekey |
Ciąg znaków | Tylko do odczytu | Zwraca użyty klucz |
responsecache.{policy_name}.cachehit |
Wartość logiczna | Tylko do odczytu | Prawda, jeśli zasada została wykonana |
responsecache.{policy_name}.invalidentry |
Wartość logiczna | Tylko do odczytu | Prawda, jeśli wpis w pamięci podręcznej jest nieprawidłowy |
Kody błędów
W tej sekcji opisujemy komunikaty o błędach i zmienne przepływu ustawiane, gdy ta zasada wywołuje błąd. Te informacje są ważne, jeśli opracowujesz reguły błędów dla serwera proxy. Więcej informacji znajdziesz w sekcjach Co musisz wiedzieć o błędach zasad i Postępowanie w przypadku błędów.
Prefiks kodu błędu
Nie dotyczy
Błędy w czasie wykonywania
Ta zasada nie powoduje błędów podczas działania.
Błędy wdrażania
Te błędy mogą wystąpić podczas wdrażania serwera proxy zawierającego te zasady.
Nazwa błędu | Przyczyna | Napraw |
---|---|---|
InvalidTimeout |
Jeśli element <CacheLookupTimeoutInSeconds> zasady ResponseCache jest ustawiony na liczbę ujemną, wdrożenie serwera proxy interfejsu API nie powiedzie się. |
build |
InvalidCacheResourceReference |
Ten błąd występuje, jeśli element <CacheResource> w zasadzie ResponseCache jest ustawiony na nazwę, która nie istnieje w środowisku, w którym wdrażany jest serwer proxy interfejsu API. |
build |
ResponseCacheStepAttachmentNotAllowedReq |
Ten błąd występuje, jeśli ta sama zasada ResponseCache jest powiązana z wieloma ścieżkami żądań w dowolnym przepływie serwera proxy interfejsu API. | build |
ResponseCacheStepAttachmentNotAllowedResp |
Ten błąd występuje, jeśli ta sama zasada ResponseCache jest powiązana z wieloma ścieżkami odpowiedzi w dowolnym przepływie serwera proxy interfejsu API. | build |
InvalidMessagePatternForErrorCode |
Ten błąd występuje, jeśli element <SkipCacheLookup> lub <SkipCachePopulation> w zasadzie ResponseCache zawiera nieprawidłowy warunek. |
build |
CacheNotFound |
Ten błąd występuje, jeśli pamięć podręczna wymieniona w komunikacie o błędzie nie została utworzona w konkretnym komponencie procesora wiadomości. | build |
Zmienne błędów
Nie dotyczy
Przykładowa odpowiedź na błąd
Nie dotyczy
Schemat
Każdy typ zasad jest definiowany przez schemat XML (.xsd
). Schematy zasad
są dostępne na GitHubie.