Bagikan melalui


Simpan ke cache

BERLAKU UNTUK: Semua tingkatAN API Management

Kebijakan cache respons cache-store sesuai dengan pengaturan cache yang ditentukan. Kebijakan ini dapat diterapkan dalam kasus di mana konten respons tetap statis selama periode waktu tertentu. Pembuatan cache respons mengurangi bandwidth dan persyaratan pemrosesan yang diberlakukan pada server web backend dan menurunkan latensi yang diketahui konsumen API.

Catatan

Kebijakan ini harus memiliki kebijakan Dapatkan ke cache yang sesuai.

Penting

Cache bawaan mudah menguap dan dibagikan oleh semua unit di wilayah yang sama dalam layanan API Management yang sama.

Catatan

Tetapkan elemen kebijakan dan elemen turunan dalam urutan yang disediakan dalam pernyataan kebijakan. Untuk membantu Anda mengonfigurasi kebijakan ini, portal menyediakan editor berbasis formulir berikut panduannya. Pelajari lebih lanjut cara mengatur atau mengedit kebijakan API Management.

Pernyataan kebijakan

<cache-store duration="seconds" cache-response="true | false" />

Atribut

Atribut Deskripsi Wajib diisi Default
durasi Waktu nyala dari entri cache, dinyatakan dalam detik. Ekspresi kebijakan diizinkan. Ya T/A
cache-response Atur ke true ke cache respons HTTP saat ini. Jika atribut dihilangkan, hanya respons HTTP dengan kode 200 OK status yang di-cache. Ekspresi kebijakan diizinkan. No false

Penggunaan

Catatan penggunaan

  • API Management hanya menyimpan respons terhadap permintaan HTTP GET.
  • Kebijakan ini hanya dapat digunakan sekali di bagian kebijakan.

Contoh

Contoh dengan kebijakan pencarian cache yang sesuai

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

Contoh menggunakan ekspresi kebijakan

Contoh ini menunjukkan cara mengonfigurasi durasi penembolokan respons API Management yang cocok dengan penembolokan respons layanan backend sebagaimana ditentukan oleh arahan Cache-Control layanan backend.

<!-- 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;
  }"
 />

Untuk informasi selengkapnya, lihat Ekspresi kebijakan dan Variabel konteks.

Untuk informasi selengkapnya tentang bekerja dengan kebijakan, lihat: