Halaman ini berlaku untuk Apigee dan Apigee Hybrid.
Lihat dokumentasi
Apigee Edge.
Mengonfigurasi cara nilai yang di-cache harus diambil saat runtime.
Kebijakan ini ditujukan untuk digunakan dalam caching jangka pendek tujuan umum. Kebijakan ini digunakan bersama dengan kebijakan PopulateCache (untuk menulis entri) dan kebijakan InvalidateCache (untuk membatalkan entri).
Kebijakan ini adalah Kebijakan yang dapat diperluas dan penggunaan kebijakan ini mungkin memiliki implikasi biaya atau penggunaan, bergantung pada lisensi Apigee Anda. Untuk mengetahui informasi tentang jenis kebijakan dan implikasi penggunaannya, lihat Jenis kebijakan.
Untuk menyimpan respons resource backend dalam cache, lihat kebijakan ResponseCache.
Referensi elemen
Berikut adalah elemen yang dapat Anda konfigurasi pada kebijakan ini.
<LookupCache async="false" continueOnError="false" enabled="true" name="Lookup-Cache-1"> <DisplayName>Lookup Cache 1</DisplayName> <Properties/> <CacheKey> <Prefix/> <KeyFragment ref=""/> </CacheKey> <!-- Omit this element if you're using the included shared cache. --> <CacheResource/> <CacheLookupTimeoutInSeconds/> <Scope>Exclusive</Scope> <AssignTo>flowVar</AssignTo> </LookupCache>
Cache bersama disertakan secara default. Untuk menggunakan cache bersama, hilangkan elemen
<CacheResource>
dalam konfigurasi kebijakan ini.
Untuk mengetahui informasi selengkapnya tentang penyimpanan data yang mendasarinya, lihat Internal cache. Untuk mengetahui informasi selengkapnya tentang mengonfigurasi cache, lihat Caching tujuan umum.
Atribut <LookupCache>
Tabel berikut menjelaskan atribut yang umum untuk semua elemen induk kebijakan:
Atribut | Deskripsi | Default | Kehadiran |
---|---|---|---|
name |
Nama internal kebijakan. Nilai atribut Secara opsional, gunakan elemen |
T/A | Wajib |
continueOnError |
Tetapkan ke Tetapkan ke |
false | Opsional |
enabled |
Tetapkan ke Tetapkan ke |
benar | Opsional |
async |
Atribut ini tidak digunakan lagi. |
false | Tidak digunakan lagi |
Elemen <DisplayName>
Gunakan selain atribut name
untuk melabeli kebijakan di editor proxy UI pengelolaan dengan nama bahasa alami yang berbeda.
<DisplayName>Policy Display Name</DisplayName>
Default |
T/A Jika Anda menghapus elemen ini, nilai atribut |
---|---|
Kehadiran | Opsional |
Jenis | String |
Elemen <AssignTo>
Menentukan variabel tempat entri cache ditetapkan setelah diambil dari cache. Variabel harus dapat ditulis. Jika pencarian cache tidak mengambil nilai, variabel tidak akan ditetapkan.
<AssignTo>variable_to_receive_cached_value</AssignTo>
Default: |
T/A |
Kehadiran: |
Wajib |
Jenis: |
String |
Elemen <CacheKey>
Mengonfigurasi pointer unik ke bagian 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>
membuat nama setiap bagian data yang disimpan dalam
cache.
Saat runtime, nilai <KeyFragment>
diawali dengan nilai elemen
<Scope>
atau nilai <Prefix>
. Misalnya, berikut menghasilkan kunci cache
UserToken__apiAccessToken__
<value_of_client_id>:
<CacheKey> <Prefix>UserToken</Prefix> <KeyFragment>apiAccessToken</KeyFragment> <KeyFragment ref="request.queryparam.client_id" /> </CacheKey>
Anda menggunakan elemen <CacheKey>
bersama dengan
<Prefix>
dan <Scope>
. Untuk mengetahui informasi selengkapnya, lihat Bekerja dengan kunci cache.
Elemen <CacheLookupTimeoutInSeconds>
Menentukan jumlah detik setelah pencarian cache yang tidak berhasil akan dianggap sebagai miss cache. Jika hal ini terjadi, alur akan dilanjutkan di sepanjang jalur miss cache.
<CacheLookupTimeoutInSeconds>12</CacheLookupTimeoutInSeconds>
Default: |
12 |
Kehadiran: |
Opsional |
Jenis: |
Bilangan bulat |
Elemen <CacheResource>
Menentukan cache tempat pesan harus disimpan.
Hapus elemen ini sepenuhnya jika kebijakan ini (dan kebijakan PopulateCache serta InvalidateCache yang sesuai) menggunakan cache bersama yang disertakan.
<CacheResource>cache_to_use</CacheResource>
Default: |
T/A |
Kehadiran: |
Opsional |
Jenis: |
String |
Untuk mengetahui informasi selengkapnya tentang mengonfigurasi cache, lihat Caching tujuan umum.
Elemen <CacheKey>/<KeyFragment>
Menentukan nilai yang harus disertakan dalam kunci cache. Tentukan variabel yang akan di-dereferensikan
dengan atribut ref
, atau nilai tetap.
<KeyFragment ref="variable_name"/> <KeyFragment>literal_string</KeyFragment>
Default: |
T/A |
Kehadiran: |
Opsional |
Jenis: |
T/A |
Saat runtime, Apigee membuat kunci cache dengan menambahkan nilai yang diperoleh dari
elemen <Scope>
atau elemen <Prefix>
, ke
gabungan nilai yang di-resolve dari setiap elemen <KeyFragment>
.
Untuk mengetahui informasi selengkapnya, lihat
Bekerja
dengan kunci cache.
Atribut
Atribut | Jenis | Default | Wajib | Deskripsi |
---|---|---|---|---|
ref | string | Tidak |
Variabel yang akan diambil nilainya. Tidak boleh digunakan jika elemen ini berisi nilai literal. |
Elemen <CacheKey>/<Prefix>
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>
.
Saat runtime, Apigee membuat kunci cache dengan menambahkan nilai yang diperoleh dari
elemen <Scope>
atau elemen <Prefix>
, ke
gabungan nilai yang di-resolve dari setiap elemen <KeyFragment>
.
Untuk mengetahui informasi selengkapnya, lihat
Bekerja
dengan kunci cache.
Elemen <Scope>
Enumerasi yang digunakan untuk membuat awalan untuk kunci cache saat elemen <Prefix>
tidak disediakan dalam elemen <CacheKey>
.
<Scope>scope_enumeration</Scope>
Default: |
"Eksklusif" |
Kehadiran: |
Opsional |
Jenis: |
String |
Setelan <Scope>
menentukan kunci cache yang ditambahkan di awal sesuai dengan
nilai <Scope>
. Misalnya, kunci cache akan berbentuk berikut saat
cakupan ditetapkan ke Exclusive
:
orgName__envName__applicationName__proxy|TargetName__
[ serializedCacheKey ].
Jika elemen <Prefix>
ada di <CacheKey>
, elemen tersebut akan menggantikan nilai elemen <Scope>
. Nilai yang valid mencakup enumerasi
di bawah.
Untuk mengetahui informasi selengkapnya, lihat Bekerja dengan kunci cache.
Nilai yang dapat diterima
Global |
Kunci cache dibagikan di semua proxy API yang di-deploy di lingkungan. Kunci cache ditambahkan dalam bentuk orgName __ envName __. Jika Anda menentukan entri |
Application |
Nama proxy API digunakan sebagai awalan. Kunci cache ditambahkan dalam bentuk orgName__envName__applicationName. |
Proxy |
Konfigurasi ProxyEndpoint digunakan sebagai awalan. Kunci cache ditambahkan dalam bentuk orgName__envName__applicationName__proxyEndpointName . |
Target |
Konfigurasi TargetEndpoint digunakan sebagai awalan. Kunci cache yang ditambahkan dalam bentuk orgName__envName__applicationName__targetEndpointName . |
Exclusive |
Default. Ini adalah yang paling spesifik, sehingga menimbulkan risiko minimal terjadinya konflik namespace dalam cache tertentu. Awalan memiliki salah satu dari dua bentuk berikut:
Kunci cache yang ditambahkan di awal dalam bentuk orgName__envName__applicationName__proxyNameITargetName Misalnya, string lengkapnya mungkin terlihat seperti ini: apifactory__test__weatherapi__default__apiAccessToken |
Catatan penggunaan
Gunakan kebijakan ini untuk caching tujuan umum. Saat runtime, kebijakan LookupCache mengambil nilai dari cache, lalu menetapkan nilai ke variabel yang Anda tentukan dengan elemen AssignTo (jika tidak ada nilai yang diambil, variabel tidak akan ditetapkan). Cache ini mencari nilai berdasarkan kunci cache yang dibuat melalui konfigurasi yang menggabungkan elemen CacheKey dan Scope. Dengan kata lain, untuk mengambil nilai tertentu yang ditambahkan ke cache oleh kebijakan PopulateCache, kebijakan LookupCache Anda harus memiliki elemen terkait kunci cache yang dikonfigurasi dengan cara yang sama seperti kebijakan PopulateCache.
Caching tujuan umum dengan kebijakan PopulateCache,
kebijakan LookupCache, dan kebijakan InvalidateCache menggunakan
cache yang Anda konfigurasi atau cache bersama yang disertakan secara default. Dalam sebagian besar kasus, cache bersama yang mendasarinya akan memenuhi kebutuhan Anda. Untuk menggunakan cache default, cukup hapus
elemen <CacheResource>
.
Untuk mengetahui informasi selengkapnya tentang mengonfigurasi cache, lihat Caching tujuan umum. Untuk mengetahui informasi selengkapnya tentang penyimpanan data yang mendasarinya, lihat Internal cache.
Variabel alur
Variabel alur dapat digunakan untuk mengonfigurasi perilaku runtime dinamis untuk kebijakan dan alur, berdasarkan header HTTP atau konten pesan, atau konteks yang tersedia di Alur. Untuk mengetahui informasi selengkapnya tentang variabel alur, lihat Referensi variabel alur.
Variabel Alur bawaan berikut tersedia setelah Anda menyesuaikan perilaku cache yang Anda tentukan dalam kebijakan LookupCache.
Variabel | Jenis | Izin | Deskripsi |
---|---|---|---|
lookupcache.{policy-name}.cachename | String | Hanya Baca | Menampilkan nama cache yang digunakan dalam kebijakan. |
lookupcache.{policy-name}.cachekey | String | Hanya Baca | Menampilkan kunci yang digunakan. |
lookupcache.{policy-name}.cachehit | Boolean | Hanya Baca | Benar (True) jika kebijakan menemukan nilai untuk kunci cache yang ditentukan. |
lookupcache.{policy-name}.assignto | String | Hanya Baca | Menampilkan variabel tempat cache ditetapkan. |
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> ditetapkan ke nama yang tidak ada di lingkungan tempat proxy API di-deploy. |
build |
InvalidTimeout |
Jika elemen <CacheLookupTimeoutInSeconds> ditetapkan ke
bilangan negatif, deployment proxy API akan gagal. |
build |
CacheNotFound |
Error ini terjadi jika cache tertentu yang disebutkan dalam pesan error belum dibuat di komponen Message Processor tertentu. | build |
Variabel error
T/A
Contoh respons error
T/A