YanıtCache politikası

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

Bir arka uç kaynağından verileri önbelleğe alarak kaynağa yapılan istek sayısını azaltır. Uygulama olarak aynı URI'ye istekte bulunduğunda, bu politikayı önbelleğe alınan yanıtları döndürmek yerine bu istekleri arka uç sunucusuna iletir. ResponseCache politikası, API'nizin daha iyi performans sağlar.

ResponseCache'i muhtemelen API'niz tarafından kullanılan arka uç verileri güncellendiğinde daha faydalı bulursunuz yalnızca belirli aralıklarla alırsınız. Örneğin, hava durumu raporu verilerini gösteren bir API'niz olduğunu varsayalım. yalnızca on dakikada bir yenilenir. Şu tarihler arasında önbelleğe alınmış yanıtları döndürmek için ResponseCache'ı kullanarak arka uca ulaşan istek sayısını azaltabilirsiniz. Bu da ekip üyelerinin sayısı.

Genel amaçlı kısa vadeli önbelleğe alma için Önbelleği Doldurma politikasını kullanmayı düşünebilirsiniz. Bu politika, Arama Önbelleği politikasıyla (önbellek girişlerini okumak için) ve Önbellek politikasını geçersiz kılma (girişleri geçersiz kılmak için)

Yanıt Önbelleği politikasına giriş için bu videoyu izleyin.

Örnekler

10 dakikalık önbellek

Bu örnek, önbelleğe alınmış yanıtların nasıl 10 dakika.

Aşağıdaki URL'de bir API'niz olduğunu düşünün:

http://{org_name}-test.apigee.net/weather/forecastrss?w=23424778

w sorgu parametresini önbellek anahtarı olarak kullanıyorsunuz. Apigee Edge, w sorgu parametresinin değeri. Geçerli bir ( süresi dolmamış) yanıtı varsa önbelleğe alınmış yanıt iletisi istekte bulunan istemciye döndürülür.

Şimdi aşağıdaki gibi yapılandırılmış bir ResponseCache politikanız olduğunu düşünün.

<ResponseCache name="ResponseCache">
    <CacheKey>
        <KeyFragment ref="request.queryparam.w" />
    </CacheKey>
    <ExpirySettings>
        <TimeoutInSeconds>600</TimeoutInSeconds>
    </ExpirySettings>
</ResponseCache>

API proxy'si aşağıdaki URL için ilk kez bir istek mesajı aldığında, yanıt önbelleğe alınır. 10 dakika içindeki ikinci istekte ise önbellek araması gerçekleşir. Önbelleğe alınan yanıt, arka uç hizmetine herhangi bir istek yönlendirilmeden uygulamaya döndürülür.

http://{org_name}-test.apigee.net/weather/forecastrss?w=23424778
.

Önbellek aramasını atla

Aşağıdaki örnekte, önbellek aramasının nasıl atlanacağı ve önbelleğin nasıl alınacağı gösterilmektedir yenilendi. Şu kaynakları da inceleyin: kullanımı hakkında daha fazla bilgi için bu videoyu inceleyin.

İsteğe bağlı SkipCacheLookup koşulu (yapılandırılmışsa) istek yolunda değerlendirilir. Koşul doğru olarak değerlendirilirse önbellek araması atlanır ve önbellek yenilendi.

Koşullu önbellek yenileme, yaygın bir kullanım şeklidir ve belirli bir HTTP koşulun doğru olarak değerlendirilmesine neden olan başlıktır. Komut dosyası kullanılan bir istemci uygulaması uygun HTTP üstbilgisiyle düzenli aralıklarla istek gönderecek şekilde, açık bir şekilde bu da yanıt önbelleğinin yenilenmesine neden olur.

Örneğin, aşağıdaki URL'de bir API'ye yapılan bir çağrıyı düşünün:

'http://{org_name}-test.apigee.net/weather/forecastrss?w=23424778' -H "bypass-cache:true"

Şimdi aşağıdaki ResponseCache politikasını söz konusu proxy'de yapılandırdığınızı düşünün. Lütfen atlama-önbelleği koşulu doğru değerine ayarlandı.

<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>

Koşullar hakkında daha fazla bilgi için Akış değişkenleri ve koşulları hakkında daha fazla bilgi edinin.

Öğe referansı

Öğe referansı, politikanın öğelerini ve özelliklerini açıklar.

<?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>

&lt;ResponseCache&gt; özellikler

<ResponseCache async="false" continueOnError="false" enabled="true" name="Response-Cache-1">

Aşağıdaki tabloda tüm politika üst öğelerinde ortak olan özellikler açıklanmaktadır:

Özellik Açıklama Varsayılan Varlık
name

Politikanın dahili adı. name özelliğinin değeri Harf, sayı, boşluk, kısa çizgi, alt çizgi ve nokta içermelidir. Bu değer, 255 karakteri aşmalıdır.

İsteğe bağlı olarak, politikayı<DisplayName> yönetim arayüzü proxy düzenleyicisinde farklı bir doğal dil adı kullanabilir.

Yok Zorunlu
continueOnError

Bir politika başarısız olduğunda hata döndürmesi için false olarak ayarlayın. Bu beklenen bir durumdur çoğu politika için geçerli olur.

Akış yürütmenin bir politikadan sonra bile devam etmesi için true olarak ayarlayın başarısız olur.

false İsteğe bağlı
enabled

Politikayı uygulamak için true olarak ayarlayın.

Politikayı devre dışı bırakmak için false değerine ayarlayın. Bu politika, bir akışa bağlı kalsa bile uygulanır.

true İsteğe bağlı
async

Bu özelliğin desteği sonlandırıldı.

false Kullanımdan kaldırıldı

&lt;DisplayName&gt; öğe

Politikayı name özelliğine ek olarak farklı bir doğal dil adına sahip yönetim arayüzü proxy düzenleyicisi.

<DisplayName>Policy Display Name</DisplayName>
Varsayılan

Yok

Bu öğeyi çıkarırsanız politikanın name özelliğinin değeri: kullanılır.

Varlık İsteğe bağlı
Tür Dize

&lt;CacheKey&gt; öğe

Önbellekte depolanan bir veri parçasına yönelik benzersiz bir işaretçi yapılandırır.

Önbellek anahtarları 2 KB boyutuyla sınırlıdır.

<CacheKey>
    <Prefix>string</Prefix>
    <KeyFragment ref="variable_name" />
    <KeyFragment>literal_string</KeyFragment>
</CacheKey>

Varsayılan:

Yok

Bulunma:

Zorunlu

Tür:

Yok

<CacheKey>, önbellekte depolanan her bir veri parçasının adını oluşturur. Anahtar, genellikle varlık başlıklarındaki veya sorgu parametrelerindeki bir değer kullanılarak ayarlanır. Böyle durumlarda öğenin ref özelliği, anahtar değerini içeren bir değişken belirtir.

Çalışma zamanında, <KeyFragment> değerlerinin başına <Scope> öğe değeri veya <Prefix> değeri. Örneğin, sonuç, şu önbellek anahtarıyla sonuçlanır: UserToken__apiAccessToken__&lt;value_of_client_id&gt;:

<CacheKey>
    <Prefix>UserToken</Prefix>
    <KeyFragment>apiAccessToken</KeyFragment>
    <KeyFragment ref="request.queryparam.client_id" />
</CacheKey>

<CacheKey> öğesini şununla birlikte kullanırsınız: <Prefix> ve <Scope>. Daha fazla bilgi için Önbellek anahtarlarıyla çalışma başlıklı makaleyi inceleyin.

&lt;CacheLookupTimeoutInSeconds&gt; öğe

Başarısız bir önbellek aramasının kaç saniye sonra bir değer olarak kabul edileceğini (saniye cinsinden) önbellekte yok. Bu durumda akış önbellekte olmayan yol boyunca devam eder.

<CacheLookupTimeoutInSeconds>30</CacheLookupTimeoutInSeconds>

Varsayılan:

30

Bulunma:

İsteğe bağlı

Tür:

Tamsayı

&lt;CacheResource&gt; öğe

Mesajların depolanacağı önbelleği belirtir. Dahil edilen paylaşılan önbellek. Aşağıdaki bilgileri kullanıyorsanız bir CacheResource öğesini önbellekte bulunan girişleri yönetimsel olarak temizleyin. Bu konuda daha fazla bilgi için Önbellekler başlıklı makaleyi inceleyin.

<CacheResource>cache_to_use</CacheResource>

Varsayılan:

Yok

Bulunma:

İsteğe bağlı

Tür:

Dize

Önbellekleri yapılandırma hakkında daha fazla bilgi edinmek için Ortam oluşturma ve düzenleme önbellek hakkında daha fazla bilgi edinin.

&lt;CacheKey&gt;/&lt;KeyFragment&gt; öğe

Eşleştirme için bir ad alanı oluşturarak önbellek anahtarına eklenmesi gereken bir değeri belirtir yapılan istek.

<KeyFragment ref="variable_name"/>
<KeyFragment>literal_string</KeyFragment>

Varsayılan:

Yok

Bulunma:

İsteğe bağlı

Tür:

Yok

Bu bir anahtar (sağladığınız statik bir ad) veya bir değer ( bir değişkene referansta bulunması) gerekir. Belirtilen tüm parçalar birleştirilir (artı önek) önbellek anahtarını oluşturun.

<KeyFragment>apiAccessToken</KeyFragment>
<KeyFragment ref="request.queryparam.client_id" />

<KeyFragment> öğesini şununla birlikte kullanırsınız: <Prefix> ve <Scope>. Daha fazla bilgi için Önbellek anahtarlarıyla çalışma başlıklı makaleyi inceleyin.

Özellikler

Özellik Tür Varsayılan Zorunlu Açıklama
referans dize Hayır

Değerin alınacağı değişken. Bu öğe içeriyorsa kullanılmamalıdır değişmez değer.

&lt;CacheKey&gt;/&lt;Prefix&gt; öğe

Önbellek anahtarı öneki olarak kullanılacak değeri belirtir.

<Prefix>prefix_string</Prefix>

Varsayılan:

Yok

Bulunma:

İsteğe bağlı

Tür:

Dize

Kendi değerinizi belirtmek istediğinizde <Scope> yerine bu değeri kullanın yerine <Scope> kullanabilirsiniz. Tanımlanmışsa <Prefix>, önbelleğe yazılan girişlerin başına önbellek anahtarı değerini ekler. CEVAP <Prefix> öğe değeri, <Scope> öğesini geçersiz kılar değer.

<Prefix> öğesini şununla birlikte kullanırsınız: <CacheKey> ve <Scope>. Daha fazla bilgi için Önbellek anahtarlarıyla çalışma başlıklı makaleyi inceleyin.

&lt;ExcludeErrorResponse&gt; öğe

Şu anda bu politika varsayılan olarak HTTP yanıtlarını herhangi bir mümkün Durum kodu. Bu, hem başarı hem de hata yanıtlarının önbelleğe alındığı anlamına gelir. Örneğin, hem 2xx hem de 3xx durum kodları varsayılan olarak önbelleğe alınır.

Hedefi önbelleğe almak istemiyorsanız bu öğeyi true olarak ayarlayın HTTP hata durum kodları içeren yanıtlar; yalnızca 200 ile 205 arasında durum kodlarına sahip yanıtlar bu öğe true ise önbelleğe alınır. Edge'in saydığı sadece HTTP durum kodları bunlardır "başarı" ve bu ilişkilendirmeyi değiştiremezsiniz.

Bu öğenin kullanışlı olduğu Yanıt Önbelleği kalıplarıyla ilgili açıklamalar için bu topluluk gönderisine göz atın.

Not: Gelecekteki bir sürümde (daha sonra belirlenecek), bu öğesi true olarak değişir. Apigee'ye göz atın Ayrıntılar için Sürüm Notları'na göz atın.

<ExcludeErrorResponse>true</ExcludeErrorResponse>

Varsayılan:

false

Bulunma:

İsteğe bağlı

Tür:

Boole

&lt;ExpirySettings&gt; öğe

Önbellek girişinin ne zaman sona ereceğini belirtir. Mevcut olduğunda <TimeoutInSeconds> hem <TimeOfDay> hem de <ExpiryDate> değerlerini geçersiz kılar.

<ExpirySettings>
  <TimeOfDay ref="time_variable">expiration_time</TimeOfDay>
  <TimeoutInSeconds ref="duration_variable">seconds_until_expiration</TimeoutInSeconds>
  <ExpiryDate ref="date_variable">expiration_date</ExpiryDate>
</ExpirySettings>

Varsayılan:

Yok

Bulunma:

Zorunlu

Tür:

Yok

&lt;ExpirySettings&gt;/&lt;ExpiryDate&gt; öğe

Önbellek girişinin süresinin dolacağı tarihi belirtir. mm-dd-yyyy formunu kullanın. Mevcut olduğunda bu öğenin kardeş öğesi (<TimeoutInSeconds>) geçersiz kılmaları <ExpiryDate>.

<ExpirySettings>
    <ExpiryDate ref="{date_variable}">expiration_date</ExpiryDate>
</ExpirySettings>

Varsayılan:

Yok

Bulunma:

İsteğe bağlı

Tür:

Dize

Özellikler

<ExpiryDate ref="" />
Özellik Açıklama Varsayılan Varlık Tür
referans

Değerin alınacağı değişken. Bu öğe içeriyorsa kullanılmamalıdır değişmez değer.

Yok İsteğe bağlı Dize

&lt;ExpirySettings&gt;/&lt;TimeOfDay&gt; öğe

Önbellek girişinin gün içinde sona ereceği saat. hh:mm:ss formunu kullanın . Mevcut olduğunda bu öğenin kardeş öğesi (<TimeoutInSeconds>) geçersiz kılmaları <TimeOfDay>.

Saati SS:dd:ss biçiminde girin. Burada SS, 24 saatlik biçimin saatini temsil eder. Örneğin, Örneğin, öğleden sonra 2:30 için 14:30:00.

Günün saati için varsayılan yerel ayar ve saat dilimi, kodun bulunduğu yere bağlı olarak değişir. çalışıyor (politikayı yapılandırdığınızda bu bilgi bilinemez). yerel ayara erişmek için Bir ortam önbelleğinizdir.

<ExpirySettings>
    <TimeOfDay ref="time_variable">expiration_time</TimeOfDay>
</ExpirySettings>

Varsayılan:

Yok

Bulunma:

İsteğe bağlı

Tür:

Dize

Özellikler

Özellik Açıklama Varsayılan Varlık Tür
referans Son kullanma tarihi değerine sahip değişken. Yok İsteğe bağlı Dize

&lt;ExpirySettings&gt;/&lt;TimeoutInSec&gt; öğe

Önbellek girişinin süresinin dolacağı saniye sayısı.

&lt;ExpirySettings&gt;/&lt;TimeoutInSeconds&gt; öğe

Önbellek girişinin süresinin dolacağı saniye sayısı. Bu öğe mevcut olduğunda <TimeOfDay> ve <ExpiryDate> kardeşlerini geçersiz kılar.

<ExpirySettings>
    <TimeoutInSeconds ref="duration_variable">seconds_until_expiration</TimeoutInSeconds>
</ExpirySettings>

Not: Referansın duration_variable.

Varsayılan:

Yok

Bulunma:

İsteğe bağlı

Tür:

Dize

Özellikler

Özellik Açıklama Varsayılan Varlık Tür
referans Zaman aşımı değerine sahip değişken.
Yok
İsteğe bağlı Dize

&lt;Scope&gt; öğe

<Prefix> anahtar kelimesi olduğunda önbellek anahtarı için bir önek oluşturmak üzere kullanılan numaralandırma öğesi, <CacheKey> öğesinde sağlanmamış.

<Scope>scope_enumeration</Scope>

Varsayılan:

"Özel"

Bulunma:

İsteğe bağlı

Tür:

Dize

<Scope> ayarı, <Scope> değeri. Örneğin, bir önbellek anahtarı aşağıdaki biçimi kullanarak kapsam Exclusive olarak ayarlanırsa : orgName__envName__apiProxyName__deployedRevisionNumber__proxy|TargetName__ [ serializedCacheKey ] değerini kullanarak bulabilirsiniz.

<CacheKey> içinde bir <Prefix> öğesi varsa <Scope> öğe değerinin yerini alır. Geçerli değerler numaralandırmaları içerir bölümüne göz atın.

<Scope> öğesini şununla birlikte kullanırsınız: <CacheKey> ve <Prefix>. Daha fazla bilgi için Önbellek anahtarlarıyla çalışma başlıklı makaleyi inceleyin.

Kabul edilebilir değerler

Kapsam Değeri Açıklama
Global

Önbellek anahtarı, ortamda dağıtılan tüm API proxy'leri arasında paylaşılır. Önbellek anahtarı: orgName __ envName __ biçiminde eklenir.

<CacheKey> <KeyFragment> apiAccessToken ve <Global> kapsamı, her giriş orgName__envName__apiAccessToken olarak depolanır ve ardından, erişim jetonunun serileştirilmiş değeri. Bir ortamda dağıtılan bir API proxy'si için: "test" [test] erişim kodları, "apifactory" adlı bir kuruluşta şu önbellek anahtarı: apifactory__test__apiAccessToken.

Application

API proxy adı ön ek olarak kullanılıyor.

Önbellek anahtarı başa orgName__envName__apiProxyName biçiminde eklenir.

Proxy

ProxyEndpoint yapılandırması ön ek olarak kullanılır.

Önbellek anahtarı formun başına eklendi orgName__envName__apiProxyName__deployedRevisionNumber__proxyEndpointName

Target

Ön ek olarak TargetEndpoint yapılandırması kullanılıyor.

Formun başına eklenmiş önbellek anahtarı orgName__envName__apiProxyName__deployedRevisionNumber__targetEndpointName

Exclusive

Varsayılan. Bu, en spesifik olanıdır ve bu nedenle ad alanı açısından minimum risk sunar. çakışmalarını ön plana çıkarır.

Önek iki biçimden biridir:

  • Politika ProxyEndpoint akışına bağlıysa önek ApiProxyName_ProxyEndpointName oluşturun.
  • Politika TargetEndpoint konumuna eklenirse önek biçimdedir ApiProxyName_TargetName.

Formun başına eklenmiş önbellek anahtarı orgName__envName__apiProxyName__deployedRevisionNumber__proxyNameITargetName

Örneğin, tam dize aşağıdaki gibi görünebilir:

apifactory__test__weatherapi__16__default__apiAccessToken
.

&lt;SkipCacheLookup&gt; öğe

Çalışma zamanında doğru olarak değerlendirilirse önbellek aramasını belirten bir ifade tanımlar atlanmalı ve önbellek yenilenmelidir. Ayrıca bkz. video'yu inceleyin.

<SkipCacheLookup>variable_condition_expression</SkipCacheLookup>

Varsayılan:

Yok

Bulunma:

İsteğe bağlı

Tür:

Dize

Aşağıdaki örnekte, atlama-önbelleği değişkeni gelen bir üstbilgide doğru değerine ayarlanırsa, önbellek araması atlanır ve önbellek yenilenir.

<SkipCacheLookup>request.header.bypass-cache = "true"</SkipCacheLookup>

&lt;SkipCachePopulation&gt; öğe

Çalışma zamanında doğru olarak değerlendirilirse önbellek atlanmalıdır. Ayrıca bkz. video'yu inceleyin.

<SkipCachePopulation>variable_condition_expression</SkipCachePopulation>

Varsayılan:

Yok

Bulunma:

İsteğe bağlı

Tür:

Dize

Örneğin, yanıt durum kodu 400 veya daha yüksek:

<SkipCachePopulation>response.status.code >= 400</SkipCachePopulation>

&lt;UseAcceptHeader&gt; öğe

Yanıt önbellek girişinin önbellek anahtarına şuradan değer eklenmesini sağlamak için true olarak ayarlayın: yanıtı Kabul edin.

Edge, Accept, Accept-Encoding, Accept-Language uygulamalarını kullanır ve Accept-Charset istek üstbilgilerini kullanabilirsiniz. Bu yaklaşım müşterinin istemediği bir medya türünü almasını engeller.

Örneğin, iki isteğin aynı URL'den gelip gelmediğini düşünün. Birinci isteğin gzip dosyasını kabul eder, ikincisi ise yapmaz. İlk istek önbelleğe alınacak ve önbelleğe alınan giriş, gzip biçiminde bir yanıt olacaktır. İkinci istek, önbelleğe alınan değeri okur ve daha sonra gzip dosyasını okuyamayan bir istemciye gzip biçiminde bir giriş döndürür.

Daha fazla bilgi için Önbellek anahtarı yapılandırma sayfasına bakın.

<UseAcceptHeader>false</UseAcceptHeader>

Varsayılan:

false

Bulunma:

İsteğe bağlı

Tür:

Boole

&lt;UseResponseCacheHeaders&gt; öğe

"Süre" ayarlanırken HTTP yanıt üstbilgilerinin dikkate alınması için true olarak ayarlayın yayında" (TTL) boyutunda olmalıdır. Bu durumda Edge, aşağıdaki yanıt başlıklarını kullanarak değerleri, Yayınlanma zamanı ayarlanırken <ExpirySettings>:

  • Cache-Control s-maxage
  • Cache-Control max-age
  • Expires

Daha fazla bilgi için Önbellek girişi geçerlilik süresini ayarlama başlıklı makaleye bakın. bolca fırsat sunuyor.

<UseResponseCacheHeaders>false</UseResponseCacheHeaders>

Varsayılan:

false

Bulunma:

İsteğe bağlı

Tür:

Boole

Kullanım notları

Önbelleğe alınan her nesne için maksimum boyut 256 KB'tır. (Edge'nin nasıl çalıştığı hakkında işlem önbelleği hakkında bilgi için Önbellek dahili anahtar kelimeler.)

ResponseCache politikasındaki yapılandırmayla, Edge'in HTTP yanıtını eklemesini sağlayabilirsiniz üstbilgilerini tanımlamayı unutmayın. Bu bölümde, ilkesini kullandığınızdan emin olun.

Edge'in yanıt üstbilgilerini ResponseCache politikasıyla nasıl işlediği hakkında daha fazla bilgi edinmek için HTTP yanıt üstbilgileri için destek başlıklı makaleyi inceleyin.

Önbellek girişi son kullanma tarihi ayarlanıyor

Popülasyon Önbellek politikası etkinleştirildiğinde, <ExpirySettings> öğesi. ResponseCache politikasında Edge'i de kullanabilirsiniz yanıt başlıkları varsa bunları da göz önünde bulundurun.

Yanıt başlıklarını kullanmak için <UseResponseCacheHeaders> öğe değerini şu şekilde ayarlayın: doğru. Bu ayar, Edge'in yanıt başlıklarını dikkate almasına, bunları ayarlanan değerle karşılaştırmasına neden olur <ExpirySettings> ile ifade etmek için, ikisi arasındaki en düşük değeri kullanın. Zaman yanıt başlıklarını göz önünde bulundurarak Edge, takip etmek için:

Örneğin, bir yanıtın aşağıdaki değerlerle önbelleğe alındığını varsayalım:

  • Cache-Control s-maxage değeri yok
  • Cache-Control max-age için 300 değeri
  • Üç günde Expires tarih
  • 600 değerinde <ExpirySettings> TimeoutInSeconds değeri.

Bu durumda, Cache-Control max-age değeri TTL, <ExpirySettings> değerinden düşük olduğu ve Cache-Control s-maxage değeri yok (bu değer, max-age) tıklayın.

Önbellek anahtarını yapılandırma

Önbelleği Doldur politikası gibi genel amaçlı önbellek politikalarında olduğu gibi, <CacheKey> ve <Scope> öğelerini kullandığınız ResponseCache önbellek girişleri için önbellek anahtarı oluşturmayı yapılandırın. ResponseCache ile ayrıca önbellek anahtarları oluşturabilirsiniz anahtar değerlerine yanıt kabul etme başlıkları ekleyerek daha anlamlı sonuçlar elde edebilirsiniz.

Önbellek anahtarlarının yapılandırılması hakkında genel bilgiler için Önbellek anahtarlarıyla çalışma başlıklı makaleye bakın. Örneğin, Kabul etme üstbilgilerini kullanma hakkında daha fazla bilgi için bkz. <UseAcceptHeader>.

Önbellek şifreleme hakkında

Edge for Public Cloud: Önbellek yalnızca şurada şifrelenir: PCI ve HIPAA özellikli kuruluşlar. Bu kuruluşlar için şifreleme, kuruluş sırasında yapılandırılır. temel hazırlık.

Akış değişkenleri

Bir ResponseCache politikası yürütüldüğünde aşağıdaki önceden tanımlanmış Akış değişkenleri doldurulur. Akış değişkenleri hakkında daha fazla bilgi için Değişkenler referansı bölümüne bakın.

Değişkenler Tür İzin Açıklama
responsecache.{policy_name}.cachename Dize Salt Okunur Politikada kullanılan önbelleği döndürür
responsecache.{policy_name}.cachekey Dize Salt Okunur Kullanılan anahtarı döndürür
responsecache.{policy_name}.cachehit Boole Salt Okunur Politikanın yürütülmesi başarılı olursa doğru değerini döndürür
responsecache.{policy_name}.invalidentry Boole Salt Okunur Önbellek girişi geçerli değilse doğru değerini alır

Hata kodları

Bu bölümde, bu politika bir hatayı tetiklediğinde ayarlanan hata mesajları ve akış değişkenleri açıklanmaktadır. Bu bilgiler, bir proxy için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Hata kodu öneki

Yok

Çalışma zamanı hataları

Bu politika, çalışma zamanı hatası bildirmez.

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Neden Düzelt
InvalidTimeout ResponseCache politikasının <CacheLookupTimeoutInSeconds> öğesi negatif bir sayıya ayarlanırsa API proxy'sinin dağıtımı başarısız olur.
InvalidCacheResourceReference Bu hata, ResponseCache politikasındaki <CacheResource> öğesi, API proxy'sinin dağıtıldığı ortamda var olmayan bir ada ayarlanırsa ortaya çıkar.
ResponseCacheStepAttachmentNotAllowedReq Bu hata, bir API proxy'sinin herhangi bir akışındaki birden fazla istek yoluna aynı ResponseCache politikası eklenirse ortaya çıkar.
ResponseCacheStepAttachmentNotAllowedResp Bu hata, API proxy'sinin herhangi bir akışındaki birden fazla yanıt yoluna aynı ResponseCache politikası eklenirse ortaya çıkar.
InvalidMessagePatternForErrorCode Bu hata, ResponseCache politikasındaki <SkipCacheLookup> veya <SkipCachePopulation> öğesi geçersiz bir koşul içeriyorsa ortaya çıkar.
CacheNotFound Bu hata, hata mesajında bahsedilen belirli önbellek belirli bir Mesaj İşleyici bileşeninde oluşturulmamışsa ortaya çıkar.

Hata değişkenleri

Yok

Örnek hata yanıtı

Yok

Şema

Her politika türü bir XML şemasıyla (.xsd) tanımlanır. Referans olması amacıyla politika şemaları GitHub'da bulabilirsiniz.