Halaman ini berlaku untuk Apigee dan Apigee Hybrid.
Lihat dokumentasi Apigee Edge.
Mengonfigurasi cara pengambilan nilai yang disimpan dalam cache pada saat runtime.
Kebijakan ini ditujukan untuk digunakan dalam cache jangka pendek untuk tujuan umum. Kebijakan ini digunakan bersama dengan kebijakan FillCache (untuk menulis entri) dan kebijakan InvalidateCache (untuk entri yang tidak valid).
Kebijakan ini merupakan Kebijakan yang dapat diperluas dan penggunaan kebijakan ini mungkin memiliki implikasi biaya atau pemanfaatan, bergantung pada lisensi Apigee Anda. Untuk informasi tentang jenis kebijakan dan implikasi penggunaan, lihat Jenis kebijakan.
Untuk menyimpan respons resource backend dalam cache, lihat kebijakan ResponseCache.
Referensi elemen
Yang berikut ini mencantumkan 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, hapus elemen
<CacheResource>
dalam konfigurasi kebijakan ini.
Untuk informasi selengkapnya tentang penyimpanan data pokok, lihat Internal cache. Untuk informasi selengkapnya tentang mengonfigurasi cache, lihat Cache tujuan umum.
Atribut <LookupCache>
Tabel berikut menjelaskan atribut yang sama untuk semua elemen induk kebijakan:
Atribut | Deskripsi | Default | Kehadiran |
---|---|---|---|
name |
Nama internal kebijakan. Nilai atribut Atau, gunakan elemen |
T/A | Diperlukan |
continueOnError |
Setel ke Setel ke |
false | Opsional |
enabled |
Setel ke Setel ke |
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 |
---|---|
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: |
Diperlukan |
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: |
Diperlukan |
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, kode 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 gagal akan dianggap cache tidak ditemukan. Jika ini terjadi, alur dilanjutkan di sepanjang jalur cache yang tidak ditemukan.
<CacheLookupTimeoutInSeconds>30</CacheLookupTimeoutInSeconds>
Default: |
30 |
Kehadiran: |
Opsional |
Jenis: |
Bilangan bulat |
Elemen<CacheResource>
Menentukan cache tempat pesan akan disimpan.
Hapus elemen ini sepenuhnya jika kebijakan ini (dan kebijakan AutofillCache dan InvalidateCache Anda) 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 Cache tujuan umum.
Elemen <CacheKey>/<KeyFragment>
Menentukan nilai yang harus disertakan dalam kunci cache. Tentukan variabel yang akan dihilangkan referensinya dengan atribut ref
, atau nilai tetap.
<KeyFragment ref="variable_name"/> <KeyFragment>literal_string</KeyFragment>
Default: |
T/A |
Kehadiran: |
Opsional |
Jenis: |
T/A |
Pada runtime, Apigee membuat kunci cache dengan menambahkan nilai yang diperoleh dari elemen <Scope>
atau <Prefix>
terlebih dahulu ke penyambungan nilai yang di-resolve dari setiap elemen <KeyFragment>
.
Untuk mengetahui informasi selengkapnya, lihat
Menangani
kunci cache.
Atribut
Atribut | Jenis | Default | Diperlukan | Deskripsi |
---|---|---|---|---|
referensi | string | Tidak |
Variabel yang digunakan untuk mendapatkan nilai. 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>
mengganti elemen <Scope>
apa pun.
Pada runtime, Apigee membuat kunci cache dengan menambahkan nilai yang diperoleh dari elemen <Scope>
atau <Prefix>
terlebih dahulu ke penyambungan nilai yang di-resolve dari setiap elemen <KeyFragment>
.
Untuk mengetahui informasi selengkapnya, lihat
Menangani
kunci cache.
Elemen <Scope>
Enumerasi yang digunakan untuk membuat awalan untuk kunci cache jika elemen <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 cache akan menggunakan format berikut jika
cakupan ditetapkan ke Exclusive
:
orgName__envName__applicationName__deployedRevisionNumber__proxy|TargetName__
[ serializedCacheKey ].
Jika elemen <Prefix>
ada di <CacheKey>
, elemen tersebut akan menggantikan nilai elemen <Scope>
. Nilai yang valid mencakup enumerasi di bawah ini.
Untuk mengetahui informasi selengkapnya, lihat Bekerja dengan kunci cache.
Nilai yang dapat diterima
Global |
Kunci cache dibagikan ke 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 di awal dalam bentuk orgName__envName__applicationName. |
Proxy |
Konfigurasi ProxyEndpoint digunakan sebagai awalan. Kunci cache ditambahkan di awal dalam bentuk orgName__envName__applicationName__deployedRevisionNumber__proxyEndpointName. |
Target |
Konfigurasi TargetEndpoint digunakan sebagai awalan. Kunci cache ditambahkan di awal formulir orgName__envName__applicationName__deployedRevisionNumber__targetEndpointName. |
Exclusive |
Default. Ini adalah hal yang paling spesifik, sehingga meminimalkan risiko benturan namespace dalam cache tertentu. Awalan adalah salah satu dari dua bentuk:
Kunci cache ditambahkan di depan formulir orgName__envName__applicationName__deployedRevisionNumber__proxyNameITargetName Misalnya, string lengkap mungkin terlihat seperti ini: apifactory__test__weatherapi__16__default__apiAccessToken. |
Catatan penggunaan
Gunakan kebijakan ini untuk cache tujuan umum. Saat runtime, kebijakan LookupCache akan mengambil nilai dari cache, yang menetapkan nilai tersebut ke variabel yang Anda tentukan dengan elemen (jika tidak ada nilai yang diambil, variabel tidak akan ditetapkan). Fitur 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 dengan kebijakan AutofillCache, kebijakan LookupCache Anda harus mengonfigurasi elemen terkait kunci cache dengan cara yang sama seperti kebijakan filledCache.
Cache tujuan umum dengan kebijakan FillCache,
kebijakan LookupCache, dan kebijakan InvalidateCache menggunakan
cache yang dikonfigurasi atau cache bersama yang disertakan secara default. Pada umumnya, cache bersama yang mendasarinya harus memenuhi kebutuhan Anda. Untuk menggunakan cache default, cukup hapus
elemen <CacheResource>
.
Untuk informasi selengkapnya tentang cara mengonfigurasi cache, lihat Cache tujuan umum. Untuk informasi selengkapnya tentang penyimpanan data pokok, 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 Flow. Untuk mengetahui informasi selengkapnya tentang variabel alur, lihat Referensi variabel flow.
Variabel Alur yang telah ditetapkan berikut tersedia setelah Anda menyesuaikan perilaku cache yang Anda tentukan dalam kebijakan LookupCache.
Variabel | Jenis | Izin | Deskripsi |
---|---|---|---|
pencariancache.{nama-kebijakan}.namacache | String | Hanya-Baca | Menampilkan nama cache yang digunakan dalam kebijakan. |
caricache.{nama-kebijakan}.cachekey | String | Hanya-Baca | Menampilkan kunci yang digunakan. |
pencariancache.{nama-kebijakan}.cachehit | Boolean | Hanya-Baca | True jika kebijakan menemukan nilai untuk kunci cache yang ditentukan. |
pencariancache.{nama-kebijakan}.tetapkan | String | Hanya-Baca | Menampilkan variabel yang menjadi 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 apakah Anda sedang mengembangkan aturan fault untuk proxy. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.
Awalan kode error
T/A
Error runtime
Kebijakan ini tidak menampilkan error runtime apa pun.
Error saat deployment
Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.
Nama error | Penyebab | Perbaikan |
---|---|---|
InvalidCacheResourceReference |
Error ini terjadi jika elemen <CacheResource> disetel ke
nama yang tidak ada di lingkungan tempat proxy API di-deploy. |
build |
InvalidTimeout |
Jika elemen <CacheLookupTimeoutInSeconds> disetel ke
angka negatif, deployment proxy API akan gagal. |
build |
CacheNotFound |
Error ini terjadi jika cache tertentu yang disebutkan dalam pesan error tidak dibuat pada komponen Pemroses Pesan tertentu. | build |
Variabel kesalahan
T/A
Contoh respons error
T/A