Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
Bir arka uç kaynağındaki verileri önbelleğe alarak kaynağa yapılan isteklerin sayısını azaltır. Uygulamalar aynı URI'ye istekte bulunduğundan, bu istekleri arka uç sunucusuna yönlendirmek yerine önbelleğe alınmış yanıtları döndürmek için bu politikayı kullanabilirsiniz. ResponseCache politikası, gecikmeyi ve ağ trafiğini azaltarak API'nizin performansını artırabilir.
ResponseCache'i en çok, API'niz tarafından kullanılan arka uç verileri yalnızca belirli aralıklarla güncellendiğinde faydalı bulursunuz. Örneğin, yalnızca on dakikada bir yenilenen hava durumu raporu verilerini gösteren bir API'niz olduğunu düşünün. Yenilemeler arasında önbelleğe alınmış yanıtları döndürmek için ResponseCache'i kullanarak arka uca ulaşan isteklerin sayısını azaltabilirsiniz. Bu, ağ atlamalarının sayısını da azaltır.
Genel amaçlı kısa süreli önbelleğe alma için Önbelleği Doldurma politikasını kullanmayı düşünebilirsiniz. Bu politika, Lookup Cache policy (önbellek girişlerini okumak için) ve Invalidate Cache policy (girişleri geçersiz kılmak için) ile birlikte kullanılır.
Yanıt önbelleği politikasına giriş için bu videoyu izleyin.
Örnekler
10 dakikalık önbellek
Bu örnekte, önbelleğe alınmış yanıtların 10 dakika boyunca nasıl saklanacağı gösterilmektedir.
Aşağıdaki URL'de bir API'niz olduğunu varsayalım:
http://{org_name}-test.apigee.net/weather/forecastrss?w=23424778Önbellek anahtarı olarak w sorgu parametresini kullanıyorsunuz. Apigee Edge, bir istek alındığında w sorgu parametresinin değerini kontrol eder. Önbellekte geçerli (yani süresi dolmamış) bir yanıt varsa önbelleğe alınmış yanıt mesajı, istekte bulunan istemciye döndürülür.
Şimdi de aşağıdaki şekilde yapılandırılmış bir ResponseCache politikanız olduğunu varsayalım.
<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 önbellek araması yapılır. Önbelleğe alınmış yanıt, arka uç hizmetine istek iletilmeden 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 yenileneceği gösterilmektedir. SkipCacheLookup kullanımıyla ilgili bu videoyu da 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 yenilenir.
Koşullu önbellek yenileme, koşulun doğru olarak değerlendirilmesine neden olan belirli bir HTTP üstbilgisini tanımlayan bir koşul için yaygın olarak kullanılır. Bir komut dosyası oluşturulmuş istemci uygulaması, uygun HTTP başlığıyla düzenli olarak istek gönderecek şekilde yapılandırılabilir. Bu, yanıt önbelleğinin yenilenmesine açıkça neden olur.
Örneğin, aşağıdaki URL'de bir API'ye yapılan çağrıyı düşünün:
'http://{org_name}-test.apigee.net/weather/forecastrss?w=23424778' -H "bypass-cache:true"Şimdi de bu proxy'de aşağıdaki ResponseCache politikasının yapılandırıldığını düşünelim. bypass-cache koşulunun doğru olarak ayarlandığını unutmayın.
<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ı başlıklı makaleyi inceleyin.
Öğ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>
<ResponseCache> özellikleri
<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ı. İsteğe bağlı olarak, politikayı |
Yok | Zorunlu |
continueOnError |
Bir politika başarısız olduğunda hata döndürmesi için Akış yürütmenin bir politikadan sonra bile devam etmesi için |
false | İsteğe bağlı |
enabled |
Politikayı uygulamak için Politikayı devre dışı bırakmak için |
true | İsteğe bağlı |
async |
Bu özelliğin desteği sonlandırıldı. |
false | Kullanımdan kaldırıldı |
<DisplayName> öğ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 |
|---|---|
| Varlık | İsteğe bağlı |
| Tür | Dize |
<CacheKey> öğesi
Önbellekte depolanan bir veri parçasına benzersiz bir işaretçi yapılandırır.
Önbellek anahtarları 2 KB ile sınırlıdır.
<CacheKey> <Prefix>string</Prefix> <KeyFragment ref="variable_name" /> <KeyFragment>literal_string</KeyFragment> </CacheKey>
|
Varsayılan: |
Yok |
|
Mevcut olma: |
Zorunlu |
|
Tür: |
Yok |
<CacheKey>, önbellekte depolanan her veri parçasının adını oluşturur.
Anahtar genellikle öğe başlıklarındaki veya sorgu parametrelerindeki bir değer kullanılarak ayarlanır. Bu gibi durumlarda, öğenin ref özelliğinde anahtar değerini içeren bir değişken belirtmeniz gerekir.
Çalışma zamanında, <KeyFragment> değerlerinin başına <Scope> öğe değeri veya <Prefix> değeri eklenir. Örneğin, aşağıdakiler UserToken__apiAccessToken__<value_of_client_id> önbellek anahtarıyla sonuçlanır:
<CacheKey>
<Prefix>UserToken</Prefix>
<KeyFragment>apiAccessToken</KeyFragment>
<KeyFragment ref="request.queryparam.client_id" />
</CacheKey><CacheKey> öğesini <Prefix> ve <Scope> ile birlikte kullanırsınız. Daha fazla bilgi için Önbellek anahtarlarıyla çalışma başlıklı makaleyi inceleyin.
<CacheLookupTimeoutInSeconds> öğesi
Başarısız bir önbellek aramasının önbellekte yok olarak kabul edileceği süreyi saniye cinsinden belirtir. Bu durumda akış, önbellekte yok yolu boyunca devam eder.
<CacheLookupTimeoutInSeconds>30</CacheLookupTimeoutInSeconds>
|
Varsayılan: |
30 |
|
Mevcut olma: |
İsteğe bağlı |
|
Tür: |
Tamsayı |
<CacheResource> öğesi
İletilerin depolanması gereken önbelleği belirtir. Dahil edilen paylaşılan önbelleği kullanmak için bu öğeyi atlayın. Önbellekteki girişleri idari olarak temizleyebilmek istiyorsanız CacheResource'u ada göre belirtmeniz gerekir. Bu konuda daha fazla bilgi için Önbellekler başlıklı makaleyi inceleyin.
<CacheResource>cache_to_use</CacheResource>
|
Varsayılan: |
Yok |
|
Mevcut olma: |
İsteğe bağlı |
|
Tür: |
Dize |
Önbellekleri yapılandırma hakkında daha fazla bilgi için Ortam önbelleği oluşturma ve düzenleme başlıklı makaleyi inceleyin.
<CacheKey>/<KeyFragment> öğesi
Önbelleğe alınmış yanıtlara isteklerin eşleştirilmesi için bir ad alanı oluşturarak önbellek anahtarına dahil edilmesi gereken bir değeri belirtir.
<KeyFragment ref="variable_name"/> <KeyFragment>literal_string</KeyFragment>
|
Varsayılan: |
Yok |
|
Mevcut olma: |
İsteğe bağlı |
|
Tür: |
Yok |
Bu, bir anahtar (sizin sağladığınız statik bir ad) veya bir değer (bir değişkene referans verilerek ayarlanan dinamik bir giriş) olabilir. Belirtilen tüm parçalar (ön ekle birlikte) birleştirilerek önbellek anahtarı oluşturulur.
<KeyFragment>apiAccessToken</KeyFragment> <KeyFragment ref="request.queryparam.client_id" />
<KeyFragment> öğesini <Prefix> ve <Scope> ile birlikte kullanırsınız. Daha fazla bilgi için Önbellek anahtarlarıyla çalışma başlıklı makaleyi inceleyin.
Özellikler
| Özellik | Tür | Varsayılan | Zorunlu | Açıklama |
|---|---|---|---|---|
| ref | dize | Hayır |
Değerin alınacağı değişken. Bu öğe değişmez bir değer içeriyorsa kullanılmamalıdır. |
<CacheKey>/<Prefix> öğesi
Önbellek anahtarı öneki olarak kullanılacak bir değeri belirtir.
<Prefix>prefix_string</Prefix>
|
Varsayılan: |
Yok |
|
Mevcut olma: |
İsteğe bağlı |
|
Tür: |
Dize |
<Scope> ile numaralandırılmış bir değer yerine kendi değerinizi belirtmek istediğinizde <Scope> yerine bu değeri kullanın. Tanımlanmışsa,
<Prefix>, önbelleğe yazılan girişler için önbellek anahtarı değerinin başına eklenir. <Prefix> öğe değeri, <Scope> öğe değerini geçersiz kılar.
<Prefix> öğesini <CacheKey> ve <Scope> ile birlikte kullanırsınız. Daha fazla bilgi için Önbellek anahtarlarıyla çalışma başlıklı makaleyi inceleyin.
<ExcludeErrorResponse> öğesi
Şu anda bu politika, varsayılan olarak herhangi bir olası durum koduyla HTTP yanıtlarını önbelleğe alır. 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ına sahip yanıtlar varsayılan olarak önbelleğe alınır.
Hedef yanıtları HTTP hata durum kodlarıyla önbelleğe almak istemiyorsanız bu öğeyi true olarak ayarlayın. Bu öğe doğruysa yalnızca 200 ile 205 arasındaki durum kodlarına sahip yanıtlar önbelleğe alınır. Edge'in "başarı" kodu olarak kabul ettiği tek HTTP durum kodları bunlardır ve bu ilişkilendirmeyi değiştiremezsiniz.
Bu öğenin yararlı olduğu yanıt önbelleği kalıplarının tartışması için bu topluluk gönderisine bakın.
Not: Gelecekteki bir sürümde (belirlenecek), bu öğenin varsayılan ayarı doğru olarak değişecektir. Ayrıntılar için Apigee Sürüm Notları'na bakın.
<ExcludeErrorResponse>true</ExcludeErrorResponse>
|
Varsayılan: |
yanlış |
|
Mevcut olma: |
İsteğe bağlı |
|
Tür: |
Boole |
<ExpirySettings> öğesi
Önbellek girişinin ne zaman süresinin dolacağını belirtir. <TimeoutInSeconds> mevcut olduğunda hem <TimeOfDay> hem de <ExpiryDate>'ı 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 |
|
Mevcut olma: |
Zorunlu |
|
Tür: |
Yok |
<ExpirySettings>/<ExpiryDate> öğesi
Bir önbellek girişinin geçerliliğinin sona ereceği tarihi belirtir. mm-dd-yyyy formunu kullanın.
Bu öğe mevcut olduğunda, bu öğenin kardeşi olan <TimeoutInSeconds>, <ExpiryDate> öğesini geçersiz kılar.
<ExpirySettings> <ExpiryDate ref="{date_variable}">expiration_date</ExpiryDate> </ExpirySettings>
|
Varsayılan: |
Yok |
|
Mevcut olma: |
İsteğe bağlı |
|
Tür: |
Dize |
Özellikler
<ExpiryDate ref="" />
| Özellik | Açıklama | Varsayılan | Varlık | Tür |
|---|---|---|---|---|
| ref |
Değerin alınacağı değişken. Bu öğe değişmez bir değer içeriyorsa kullanılmamalıdır. |
Yok | İsteğe bağlı | Dize |
<ExpirySettings>/<TimeOfDay> öğesi
Bir önbellek girişinin geçerliliğinin sona ermesi gereken günün saati. hh:mm:ss formunu kullanın .
Bu öğe mevcut olduğunda, bu öğenin kardeşi olan <TimeoutInSeconds>, <TimeOfDay> öğesini geçersiz kılar.
Saati SS:dk:sn biçiminde girin. Burada SS, 24 saatlik saatteki saati temsil eder. Ö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 nerede çalıştığına bağlı olarak değişir (bu, politikayı yapılandırırken bilinemez). Yerel ayarınızı yapılandırma hakkında bilgi edinmek için Ortam önbelleği oluşturma ve düzenleme başlıklı makaleyi inceleyin.
<ExpirySettings> <TimeOfDay ref="time_variable">expiration_time</TimeOfDay> </ExpirySettings>
|
Varsayılan: |
Yok |
|
Mevcut olma: |
İsteğe bağlı |
|
Tür: |
Dize |
Özellikler
| Özellik | Açıklama | Varsayılan | Varlık | Tür |
|---|---|---|---|---|
| ref | Son kullanma zamanı değerine sahip değişken. | Yok | İsteğe bağlı | Dize |
<ExpirySettings>/<TimeoutInSec> öğesi
Bir önbellek girişinin süresinin dolması gereken saniye sayısı.
<ExpirySettings>/<TimeoutInSeconds> öğesi
Bir önbellek girişinin süresinin dolması gereken saniye sayısı. Bu öğe mevcut olduğunda kardeş öğeleri olan <TimeOfDay> ve <ExpiryDate>'i geçersiz kılar.
<ExpirySettings> <TimeoutInSeconds ref="duration_variable">seconds_until_expiration</TimeoutInSeconds> </ExpirySettings>
Not: Ref, duration_variable öğesinden değer almazsa kullanılacak varsayılan bir zaman aşımı değeri sağlayın.
|
Varsayılan: |
Yok |
|
Mevcut olma: |
İsteğe bağlı |
|
Tür: |
Dize |
Özellikler
| Özellik | Açıklama | Varsayılan | Varlık | Tür |
|---|---|---|---|---|
| ref | Zaman aşımı değerine sahip değişken. |
Yok
|
İsteğe bağlı | Dize |
<Scope> öğesi
<CacheKey> öğesinde <Prefix> öğesi sağlanmadığında önbellek anahtarı için bir önek oluşturmak üzere kullanılan numaralandırma.
<Scope>scope_enumeration</Scope>
|
Varsayılan: |
"Özel" |
|
Mevcut olma: |
İsteğe bağlı |
|
Tür: |
Dize |
<Scope> ayarı, <Scope> değerine göre önüne eklenen bir önbellek anahtarı belirler. Örneğin, kapsam Exclusive olarak ayarlandığında bir önbellek anahtarı şu biçimi alır:
orgName__envName__apiProxyName__deployedRevisionNumber__proxy|TargetName__ [
serializedCacheKey ].
<CacheKey> içinde bir <Prefix> öğesi varsa bu öğe, <Scope> öğesi değerinin yerine geçer. Geçerli değerler aşağıdaki numaralandırmaları içerir.
<Scope> öğesini <CacheKey> ve <Prefix> ile birlikte kullanırsınız. 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.
|
Application |
API proxy adı, önek olarak kullanılır. Önbellek anahtarı, orgName__envName__apiProxyName biçiminde öneklenir. |
Proxy |
ProxyEndpoint yapılandırması, önek olarak kullanılır. Önbellek anahtarı, orgName__envName__apiProxyName__deployedRevisionNumber__proxyEndpointName biçiminde öneklenir . |
Target |
TargetEndpoint yapılandırması, önek olarak kullanılır. Önüne orgName__envName__apiProxyName__deployedRevisionNumber__targetEndpointName biçiminde önbellek anahtarı eklenir . |
Exclusive |
Varsayılan. Bu, en belirgin olanıdır ve bu nedenle belirli bir önbellekte ad alanı çakışması riskini en aza indirir. Önek iki biçimden birinde olabilir:
Önbellek anahtarı, şu biçimde eklenir: orgName__envName__apiProxyName__deployedRevisionNumber__proxyNameITargetName Örneğin, tam dize şu şekilde görünebilir: apifactory__test__weatherapi__16__default__apiAccessToken |
<SkipCacheLookup> öğesi
Çalışma zamanında doğru olarak değerlendirilirse önbellek aramasının atlanması ve önbelleğin yenilenmesi gerektiğini belirten bir ifade tanımlar. SkipCacheLookup kullanımıyla ilgili bu videoyu da inceleyin.
<SkipCacheLookup>variable_condition_expression</SkipCacheLookup>
|
Varsayılan: |
Yok |
|
Mevcut olma: |
İsteğe bağlı |
|
Tür: |
Dize |
Aşağıdaki örnekte, gelen bir üstbilgide bypass-cache değişkeni doğru olarak ayarlanırsa önbellek araması atlanır ve önbellek yenilenir.
<SkipCacheLookup>request.header.bypass-cache = "true"</SkipCacheLookup>
<SkipCachePopulation> öğesi
Çalışma zamanında doğru olarak değerlendirilirse önbelleğe yazma işleminin atlanması gerektiğini belirten bir ifade tanımlar. SkipCachePopulation kullanımıyla ilgili bu videoya da göz atın.
<SkipCachePopulation>variable_condition_expression</SkipCachePopulation>
|
Varsayılan: |
Yok |
|
Mevcut olma: |
İsteğe bağlı |
|
Tür: |
Dize |
Örneğin, yanıt durum kodu 400 veya daha yüksekse aşağıdaki kod, önbelleğe yazma işlemini atlar:
<SkipCachePopulation>response.status.code >= 400</SkipCachePopulation>
<UseAcceptHeader> öğesi
Yanıt önbelleği girişinin önbellek anahtarına yanıtın Accept üstbilgilerindeki değerlerin eklenmesi için true olarak ayarlayın.
Edge, önbellek anahtarını hesaplarken Accept, Accept-Encoding, Accept-Language ve Accept-Charset istek başlıklarını kullanır. Bu yaklaşım, istemcinin istemediği bir medya türünü almasını önler.
Örneğin, aynı URL'den iki istek geldiğini düşünelim. İlk istek gzip'i kabul ederken ikinci istek kabul etmiyor. İlk istek önbelleğe alınır ve önbelleğe alınan giriş (muhtemelen) gzip ile sıkıştırılmış bir yanıt olur. İkinci istek, önbelleğe alınmış değeri okur ve ardından gzip okuyamayan bir istemciye gzip'li bir giriş döndürebilir.
Daha fazla bilgi için Önbellek anahtarı yapılandırma başlıklı makaleyi inceleyin.
<UseAcceptHeader>false</UseAcceptHeader>
|
Varsayılan: |
yanlış |
|
Mevcut olma: |
İsteğe bağlı |
|
Tür: |
Boole |
<UseResponseCacheHeaders> öğesi
Önbellekteki yanıtın "geçerlilik süresi" (TTL) ayarlanırken HTTP yanıt başlıklarının dikkate alınması için true olarak ayarlayın. Bu doğru olduğunda Edge, aşağıdaki yanıt başlıklarının değerlerini dikkate alır ve değerleri, <ExpirySettings> tarafından geçerlilik süresi ayarlanırken belirlenen değerlerle karşılaştırır:
Cache-Control s-maxageCache-Control max-ageExpires
Daha fazla bilgi için Önbellek girişi sona erme süresini ayarlama başlıklı makaleye bakın.
<UseResponseCacheHeaders>false</UseResponseCacheHeaders>
|
Varsayılan: |
yanlış |
|
Mevcut olma: |
İsteğe bağlı |
|
Tür: |
Boole |
Kullanım notları
Önbelleğe alınan her nesnenin maksimum boyutu 256 KB'tır. (Edge'in önbelleği nasıl işlediği hakkında ayrıntılı bilgi için Önbellek içerikleri başlıklı makaleyi inceleyin.)
ResponseCache politikasındaki yapılandırma aracılığıyla, Edge'in HTTP yanıtı üst bilgilerini önbellek girişi geçerlilik süresini ve önbellek anahtarlarını ayarlamaya dahil etmesini sağlayabilirsiniz. Bu bölümde, önbelleğin süresinin dolmasını ve önbellek anahtarlarını yönetmek için üstbilgilerle birlikte politikayı nasıl kullanabileceğiniz açıklanmaktadır.
Edge'in ResponseCache politikasıyla yanıt üstbilgilerini nasıl işlediği hakkında daha fazla bilgi için HTTP yanıt üstbilgileri desteği başlıklı makaleyi inceleyin.
Önbellek girişinin geçerlilik bitiş tarihini ayarlama
Önbelleği Doldurma Politikası'nda olduğu gibi, <ExpirySettings> öğesini kullanarak yanıt önbelleği girişinin geçerlilik süresini (yaşam süresi) ayarlayabilirsiniz. ResponseCache politikasında, Edge'in mevcut olduğunda yanıt başlıklarını dikkate almasını da sağlayabilirsiniz.
Yanıt başlıklarını kullanmak için <UseResponseCacheHeaders> öğe değerini doğru olarak ayarlarsınız. Bu ayar, Edge'in yanıt başlıklarını dikkate almasına, bunları <ExpirySettings> tarafından ayarlanan değerle karşılaştırmasına ve ardından ikisi arasındaki en düşük değeri kullanmasına neden olur. Yanıt başlıkları dikkate alınırken Edge, aşağıdaki açıklamalarda belirtildiği gibi kullanılabilir değeri seçer:

Örneğin, bir yanıtın aşağıdaki değerlerle önbelleğe alındığını düşünün:
Cache-Control s-maxagedeğeri yok- 300
Cache-Control max-agedeğeri - Üç gün sonra
Expirestarihi - 600
<ExpirySettings>TimeoutInSecondsdeğeri.
Bu durumda, Cache-Control max-age değeri, <ExpirySettings> değerinden düşük olduğu ve Cache-Control s-maxage değeri (max-age değerinden öncelikli) olmadığı için TTL için kullanılır.
Önbellek anahtarı yapılandırma
Populate Cache politikası gibi genel amaçlı önbellek politikalarında olduğu gibi, ResponseCache ile de önbellek girişleri için önbellek anahtarı oluşturmayı yapılandırmak üzere <CacheKey> ve <Scope> öğelerini kullanırsınız. ResponseCache ile yanıtın Accept başlıklarını anahtar değerlerine ekleyerek önbellek anahtarlarını daha anlamlı hale getirebilirsiniz.
Önbellek anahtarlarını yapılandırma hakkında genel bilgi edinmek için Önbellek anahtarlarıyla çalışma başlıklı makaleyi inceleyin. Kabul üstbilgilerini kullanma hakkında bilgi edinmek için <UseAcceptHeader> başlıklı makaleyi inceleyin.
Önbellek şifreleme hakkında
Herkese Açık Bulut için Edge: Önbellek yalnızca PCI- ve HIPAA etkin kuruluşlarda şifrelenir. Bu kuruluşlar için şifreleme, kuruluş sağlama sırasında yapılandırılır.
Akış değişkenleri
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şken referansı başlıklı makaleyi inceleyin.
| 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 | Politika yürütme başarılıysa doğru |
responsecache.{policy_name}.invalidentry |
Boole | Salt Okunur | Önbellek girişi geçerli değilse doğru değerini döndürü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. |
build |
InvalidCacheResourceReference |
Bu hata, ResponseCache politikasındaki <CacheResource> öğesi, API proxy'sinin dağıtıldığı ortamda var olmayan bir ada ayarlanırsa ortaya çıkar. |
build |
ResponseCacheStepAttachmentNotAllowedReq |
Bu hata, bir API proxy'sinin herhangi bir akışındaki birden fazla istek yoluna aynı ResponseCache politikası eklenirse ortaya çıkar. | build |
ResponseCacheStepAttachmentNotAllowedResp |
Bu hata, API proxy'sinin herhangi bir akışındaki birden fazla yanıt yoluna aynı ResponseCache politikası eklenirse ortaya çıkar. | build |
InvalidMessagePatternForErrorCode |
Bu hata, ResponseCache politikasındaki <SkipCacheLookup> veya <SkipCachePopulation> öğesi geçersiz bir koşul içeriyorsa ortaya çıkar. |
build |
CacheNotFound |
Bu hata, hata mesajında bahsedilen belirli önbellek belirli bir Mesaj İşleyici bileşeninde oluşturulmamışsa ortaya çıkar. | build |
Hata değişkenleri
Yok
Örnek hata yanıtı
Yok
Şema
Her politika türü bir XML şeması (.xsd) ile tanımlanır. Referans olarak politika şemaları GitHub'da mevcuttur.