Kebijakan InvalidateCache

Halaman ini berlaku untuk Apigee dan Apigee hybrid.

Lihat Dokumentasi Apigee Edge.

ikon kebijakan

Mengonfigurasi cara nilai yang di-cache harus dihapus permanen dari cache.

Kebijakan ini ditujukan untuk penggunaan dalam penyimpanan cache jangka pendek dengan tujuan umum. Model ini digunakan di bersama dengan kebijakan FillCache (untuk menulis entri) dan Kebijakan LookupCache (untuk membaca entri cache).

Untuk menyimpan respons resource backend dalam cache, lihat kebijakan ResponsCache.

Kebijakan ini merupakan Kebijakan yang dapat diperluas dan penggunaan kebijakan ini mungkin menimbulkan biaya atau implikasi penggunaan, bergantung pada lisensi Apigee Anda. Untuk mengetahui informasi tentang jenis kebijakan dan implikasi penggunaan, lihat Jenis kebijakan.

Referensi elemen

Berikut daftar elemen yang dapat Anda konfigurasi pada kebijakan ini.

<InvalidateCache async="false" continueOnError="false" enabled="true" name="policy-name">
    <DisplayName>Policy Name</DisplayName>
    <CacheKey>
        <Prefix>prefix_string</Prefix>
        <KeyFragment ref="variable_reference"/>
        <KeyFragment>fragment_string</KeyFragment>
    </CacheKey>
    <!-- Omit this element if you're using the included shared cache. -->
    <CacheResource>cache_to_use</CacheResource>
    <Scope>scope_enumeration</Scope>
    <CacheContext>
        <APIProxyName>application_that_added_the_entry</APIProxyName>
        <ProxyName>proxy_for_which_data_was_cached</ProxyName>
        <TargetName>endpoint_for_which_data_was_cached</TargetName>
    </CacheContext>
    <PurgeChildEntries>true_to_purge_all_child_entries</PurgeChildEntries>
</InvalidateCache>

&lt;InvalidateCache&gt; atribut

Tabel berikut menjelaskan atribut yang sama untuk semua elemen induk kebijakan:

Atribut Deskripsi Default Kehadiran
name

Nama internal kebijakan. Nilai atribut name dapat berisi huruf, angka, spasi, tanda hubung, garis bawah, dan titik. Nilai ini tidak boleh melebihi 255 karakter.

Atau, gunakan elemen <DisplayName> untuk memberi label kebijakan di editor proxy UI pengelolaan dengan nama natural-language yang berbeda.

T/A Diperlukan
continueOnError

Setel ke false untuk menampilkan error jika kebijakan gagal. Ini adalah perilaku yang wajar untuk sebagian besar kebijakan.

Setel ke true agar eksekusi alur tetap berlanjut bahkan setelah kebijakan gagal. Lihat juga:

false Opsional
enabled

Setel ke true untuk menerapkan kebijakan.

Setel ke false untuk menonaktifkan kebijakan. Kebijakan tidak akan diterapkan meskipun tetap melekat pada alur.

true Opsional
async

Atribut ini sudah tidak digunakan lagi.

false Tidak digunakan lagi

Elemen <DisplayName>

Gunakan selain atribut name untuk memberi label kebijakan di editor proxy UI pengelolaan dengan nama natural-language yang berbeda.

<DisplayName>Policy Display Name</DisplayName>
Default

T/A

Jika Anda menghapus elemen ini, nilai atribut name kebijakan akan digunakan.

Kehadiran Opsional
Jenis String

&lt;CacheContext&gt;/&lt;APIProxyName&gt; elemen

Menentukan nama aplikasi yang menambahkan entri cache.

<APIProxyName>application_that_added_the_entry</APIProxyName>

Atribut

Atribut Deskripsi Default Kehadiran Jenis
referensi Variabel dengan nama aplikasi. T/A Opsional String

&lt;CacheContext&gt; elemen

Menentukan cara membuat kunci cache jika nilai elemen Prefix tidak ditetapkan, atau untuk menghapus entri cache yang ditambahkan oleh proxy API lain.

<CacheContext>
  <APIProxyName ref="variable_name">application_that_added_the_entry</APIProxyName>
  <TargetName ref="variable_name">endpoint_for_which_data_was_cached</TargetName>
  <ProxyName ref="variable_name">proxy_for_which_data_was_cached</ProxyName>
</CacheContext>

Digunakan untuk membuat CacheKey. Nilai untuk APIProxyName, ProxyName, dan TargetName adalah wajib jika awalan CacheKey (yaitu, awalan kustom) tidak digunakan untuk menghapus entri cache ditambahkan oleh proxy API lainnya.

&lt;CacheKey&gt; elemen

Mengonfigurasi pointer unik ke sepotong data yang disimpan dalam cache.

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

Default:

T/A

Kehadiran:

Wajib

Jenis:

T/A

<CacheKey> menyusun nama setiap bagian data yang disimpan dalam {i>cache<i}.

Saat runtime, nilai <KeyFragment> ditambahkan dengan awalan Nilai elemen <Scope> atau nilai <Prefix>. Misalnya, berikut menghasilkan kunci cache UserToken__apiAccessToken__&lt;value_of_client_id&gt;:

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

Anda menggunakan elemen <CacheKey> bersama dengan <Prefix> dan <Scope>. Untuk informasi selengkapnya, lihat Menangani cache .

&lt;CacheResource&gt; elemen

Menentukan cache tempat pesan akan disimpan.

Hilangkan sepenuhnya elemen ini jika kebijakan ini (dan Mengisi Cache dan Kebijakan LookupCache) menggunakan cache bersama yang disertakan.

<CacheResource>cache_to_use</CacheResource>

Default:

T/A

Kehadiran:

Opsional

Jenis:

String

Untuk informasi selengkapnya tentang cara mengonfigurasi cache, lihat Pembuatan cache tujuan umum.

&lt;CacheKey&gt;/&lt;KeyFragment&gt; elemen

Menentukan nilai yang harus disertakan dalam kunci cache. Tentukan variabel yang akan dihapus referensinya dengan atribut ref, atau nilai tetap.

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

Default:

T/A

Kehadiran:

Opsional

Jenis:

T/A

Pada saat runtime, Apigee membuat kunci cache dengan menambahkan nilai yang diperoleh dari elemen <Scope> atau elemen <Prefix>, ke penyambungan nilai yang di-resolve dari setiap elemen <KeyFragment>. Untuk informasi selengkapnya, lihat Bekerja dengan kunci cache.

Atribut

Atribut Deskripsi Default Kehadiran Jenis
referensi Variabel yang digunakan untuk mendapatkan nilai. Tidak boleh digunakan jika elemen ini berisi nilai literal. T/A Opsional String

&lt;CacheKey&gt;/&lt;Prefix&gt; elemen

Menentukan nilai yang akan digunakan sebagai awalan kunci cache.

<Prefix>prefix_string</Prefix>

Default:

T/A

Kehadiran:

Opsional

Jenis:

String

Elemen <Prefix> menggantikan elemen <Scope>.

Pada saat runtime, Apigee membuat kunci cache dengan menambahkan nilai yang diperoleh dari elemen <Scope> atau elemen <Prefix>, ke penyambungan nilai yang di-resolve dari setiap elemen <KeyFragment>. Untuk informasi selengkapnya, lihat Bekerja dengan kunci cache.

&lt;CacheContext&gt;/&lt;ProxyName&gt; elemen

Menentukan nama proxy tempat data di-cache.

<ProxyName>proxy_for_which_data_was_cached</ProxyName>

Default:

T/A

Kehadiran:

Opsional

Jenis:

String

Atribut

Atribut Deskripsi Default Kehadiran Jenis
referensi Variabel yang digunakan untuk mendapatkan nilai. Tidak boleh digunakan jika elemen ini berisi nilai literal. T/A Opsional String

&lt;PurgeChildEntries&gt; elemen

true untuk menghapus permanen entri cache yang memiliki <Prefix> yang sama dikonfigurasikan untuk kebijakan ini, meskipun jika kebijakan FillCache yang memuat item tersebut ke dalam cache juga menggunakan berbagai <KeyFragment>.

Membatalkan validasi semua entri cache dengan nilai awalan yang sama memungkinkan Anda untuk menghapus permanen beberapa entri yang terkait sekaligus.

<PurgeChildEntries>true_to_purge_child_entries</PurgeChildEntries>

Default:

salah

Kehadiran:

Opsional

Jenis:

Boolean

&lt;Scope&gt; elemen

Enumerasi yang digunakan untuk membuat awalan untuk kunci cache saat <Prefix> tidak disediakan dalam elemen <CacheKey>.

<Scope>scope_enumeration</Scope>

Default:

"Eksklusif"

Kehadiran:

Opsional

Jenis:

String

Setelan <Scope> menentukan kunci cache yang ditambahkan sesuai dengan nilai <Scope>. Misalnya, kunci {i>cache<i} akan berupa bentuk berikut ketika cakupan ditetapkan ke Exclusive:

orgName__envName__applicationName__deployedRevisionNumber__proxy|TargetName__ [ serializedCacheKey ].

Jika elemen <Prefix> ada di <CacheKey>, elemen tersebut menggantikan nilai elemen <Scope>. Nilai yang valid untuk <Scope> elemen ditampilkan di bawah ini.

Untuk mengetahui informasi selengkapnya, lihat Bekerja dengan kunci cache.

Nilai yang dapat diterima

Nilai Cakupan Deskripsi
Global

Kunci cache dibagikan ke semua proxy API yang di-deploy di lingkungan. Kunci cache adalah ditambahkan dalam formulir orgName __ envName __.

Jika Anda menentukan entri <CacheKey> dengan <KeyFragment> apiAccessToken dan cakupan <Global>, setiap entri disimpan sebagai orgName__envName__apiAccessToken, diikuti oleh token akses yang diserialisasi. Untuk proxy API yang di-deploy di lingkungan yang disebut 'tes' dalam organisasi yang disebut {i>'apifactory'<i}, token akses akan disimpan di bawah kunci cache berikut: apifactory__test__apiAccessToken.

Application

Nama proxy API digunakan sebagai awalan.

Kunci cache ditambahkan dalam formulir orgName__envName__applicationName.

Proxy

Konfigurasi ProxyEndpoint digunakan sebagai awalan.

Kunci cache ditambahkan dalam formulir orgName__envName__applicationName__deployedRevisionNumber__proxyEndpointName kami.

Target

Konfigurasi TargetEndpoint digunakan sebagai awalan.

Kunci cache ditambahkan dalam formulir orgName__envName__applicationName__deployedRevisionNumber__targetEndpointName kami.

Exclusive

Default. Ini adalah yang paling spesifik, dan dengan demikian meminimalkan risiko namespace tabrakan dalam {i> cache<i} yang diberikan.

Awalan adalah salah satu dari dua bentuk:

  • Jika kebijakan ini disertakan ke alur ProxyEndpoint, awalannya adalah dari ApiProxyName_ProxyEndpointName.
  • Jika kebijakan dilampirkan pada TargetEndpoint, awalan harus berupa bentuk ApiProxyName_TargetName.

Kunci cache ditambahkan dalam formulir orgName__envName__applicationName__deployedRevisionNumber__proxyNameITargetName

Misalnya, string lengkap mungkin terlihat seperti ini:

apifactory__test__weatherapi__16__default__apiAccessToken
.

&lt;CacheContext&gt;/&lt;TargetName&gt; elemen

Menentukan nama endpoint target yang datanya di-cache.

<TargetName>endpoint_for_which_data_was_cached</TargetName>

Default:

T/A

Kehadiran:

Opsional

Jenis:

String

Atribut

Atribut Deskripsi Default Kehadiran Jenis
referensi Variabel yang digunakan untuk mendapatkan nilai. Tidak boleh digunakan jika elemen ini berisi nilai literal. T/A Opsional String

Catatan penggunaan

Cache tujuan umum dengan kebijakan FillCache, kebijakan LookupCache, dan Kebijakan InvalidateCache menggunakan cache yang Anda konfigurasi atau cache bersama yang disertakan oleh secara default. Umumnya, cache bersama yang mendasarinya akan memenuhi kebutuhan Anda. Untuk menggunakan cache ini, cukup hapus elemen <CacheResource>.

Untuk informasi selengkapnya tentang cara mengonfigurasi cache, lihat Pembuatan cache tujuan umum. Untuk mengetahui informasi selengkapnya tentang penyimpanan data pokok, lihat Cache internal.

Kode error

Bagian ini menjelaskan pesan error dan variabel alur yang ditetapkan saat kebijakan ini memicu error. Informasi ini penting untuk diketahui jika Anda mengembangkan aturan error untuk proxy. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani error.

Awalan kode error

T/A

Error runtime

Kebijakan ini tidak menampilkan error runtime.

Error saat deployment

Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

Nama error Penyebab Perbaiki
InvalidCacheResourceReference Error ini terjadi jika elemen <CacheResource> dalam kebijakan InvalidateCache ditetapkan ke nama yang tidak ada di lingkungan tempat proxy API di-deploy.
CacheNotFound Error ini terjadi jika cache tertentu yang disebutkan dalam pesan error belum dibuat di komponen Message Processor tertentu.

Variabel error

T/A

Contoh respons error

T/A