Önbelleğe almak için depola
UYGULANANLAR: Tüm API Management katmanları
İlke, cache-store
yanıtları belirtilen önbellek ayarlarına göre önbelleğe alır. Bu ilke, yanıt içeriğinin belirli bir süre boyunca statik kaldığı durumlarda uygulanabilir. Yanıtların önbelleğe alınması arka uç web sunucusuna uygulanan bant genişliği ve işleme gereksinimlerini azaltır ve API tüketicilerinin algıladığı gecikme süresini kısaltır.
Not
Bu ilkeye karşılık gelen bir Önbellekten al ilkesi olmalıdır.
Önemli
Yerleşik önbellek geçicidir ve aynı API Management hizmetindeki aynı bölgedeki tüm birimler tarafından paylaşılır.
Not
İlkenin öğelerini ve alt öğelerini ilke bildiriminde sağlanan sırayla ayarlayın. Portal, bu ilkeyi yapılandırmanıza yardımcı olmak için kılavuzlu, form tabanlı bir düzenleyici sağlar. API Management ilkelerini ayarlama veya düzenleme hakkında daha fazla bilgi edinin.
İlke bildirimi
<cache-store duration="seconds" cache-response="true | false" />
Özellikler
Öznitelik | Açıklama | Zorunlu | Varsayılan |
---|---|---|---|
süre | Saniye cinsinden belirtilen önbelleğe alınan girdilerin yaşam süresi. İlke ifadelerine izin verilir. | Yes | Yok |
önbellek yanıtı |
true Geçerli HTTP yanıtını önbelleğe almak için olarak ayarlayın. Öznitelik atlanırsa, yalnızca durum koduna 200 OK sahip HTTP yanıtları önbelleğe alınır. İlke ifadelerine izin verilir. |
Hayır | false |
Kullanım
- İlke bölümleri: giden
- İlke kapsamları: genel, çalışma alanı, ürün, API, işlem
- Ağ geçitleri: klasik, v2, tüketim, şirket içinde barındırılan, çalışma alanı
Kullanım notları
- API Management yalnızca HTTP GET isteklerine yönelik yanıtları önbelleğe alır.
- Bu ilke, ilke bölümünde yalnızca bir kez kullanılabilir.
Örnekler
Karşılık gelen önbellek arama ilkesine sahip örnek
<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>
İlke ifadelerini kullanma örneği
Bu örnek, arka uç hizmetinin yönergesi tarafından Cache-Control
belirtilen arka uç hizmetinin yanıt önbelleğe alma işlemiyle eşleşen API Management yanıt önbelleğe alma süresinin nasıl yapılandırıldığını gösterir.
<!-- 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;
}"
/>
Daha fazla bilgi için bkz . İlke ifadeleri ve Bağlam değişkeni.
İlgili ilkeler
İlgili içerik
İlkelerle çalışma hakkında daha fazla bilgi için bkz:
- Öğretici: API'nizi dönüştürme ve koruma
- İlke deyimlerinin ve ayarlarının tam listesi için ilke başvurusu
- İlke ifadeleri
- İlkeleri ayarlama veya düzenleme
- İlke yapılandırmalarını yeniden kullanma
- İlke kod parçacıkları deposu
- Azure API Management ilke araç seti
- Azure'da Microsoft Copilot kullanarak ilke yazma