Ringkasan cache dan persistensi

Halaman ini berlaku untuk Apigee dan Apigee Hybrid.

Baca dokumentasi Apigee Edge.

Fitur persistensi Apigee mencakup cache, peta nilai kunci, dan set properti. Jika menggunakan Apigee Hybrid, Anda dapat menggunakan secret Kubernetes untuk mempertahankan data sensitif.

Fitur Gunakan
Cache Dengan menggunakan kebijakan untuk caching tujuan umum, Anda dapat mempertahankan objek apa pun yang diperlukan proxy di beberapa sesi permintaan/respons. Anda juga dapat meng-cache respons resource backend dengan kebijakan ResponseCache. Cache respons sangat membantu jika data backend hanya diperbarui secara berkala. Kebijakan ResponseCache dapat mengurangi panggilan ke sumber data backend.
Peta nilai kunci Peta nilai kunci (KVM) menyediakan penyimpanan runtime umum untuk data yang dapat berubah secara berkala. Misalnya: data sesi pengguna, keranjang belanja, dll. Entri KVM dapat dienkripsi.
Kumpulan properti Kumpulan properti cocok untuk menyimpan data konfigurasi yang tidak sering berubah.
Rahasia Kubernetes (Khusus Apigee Hybrid) Menggunakan Rahasia untuk menyimpan data sensitif seperti kredensial pengguna.

Menyimpan data ke dalam cache

Resource cache cakupan lingkungan dibuat secara dinamis saat kebijakan cache dieksekusi dalam alur proxy API. Kebijakan cache mencakup kebijakan FillCache, kebijakan LookupCache, kebijakan InvalidateCache, dan kebijakan ResponsCache.

Item yang di-cache tetap berada di memori (L1) selama satu detik. Anda tidak dapat mengubah konfigurasi ini. Setelah satu detik, objek yang di-cache akan ditempatkan dalam database (L2) tempat objek tersebut tersedia hingga cache berakhir. Untuk mengetahui detailnya, lihat Level cache persisten dalam memori. Anda mengelola detail cache, seperti waktu habis masa berlaku, melalui konfigurasi kebijakan cache. Tersedia API Apigee yang memungkinkan Anda mencantumkan dan menghapus resource cache.

Ketika menggunakan kebijakan cache, Anda memastikan keunikan kunci nilai yang di-cache dengan mengonfigurasi kunci cache. Kunci cache, beserta nilai lain yang dapat Anda konfigurasi, memberikan cara yang andal untuk mendapatkan data yang sama dengan yang Anda masukkan. Ukuran dan ketersediaan cache tunduk pada batas tertentu.

Sebaiknya gunakan cache untuk:

  • Kurangi latensi dan traffic. Permintaan dipenuhi dalam waktu yang lebih singkat dan dengan representasi yang digunakan kembali.
  • Mempertahankan data di seluruh transaksi. Anda dapat menyimpan data sesi untuk digunakan kembali di seluruh transaksi HTTP.
  • Mendukung keamanan. Buat cakupan akses ke entri cache sehingga hanya dapat diakses di lingkungan tertentu atau oleh proxy API tertentu.

Cache respons backend

Anda dapat meng-cache respons resource backend dengan kebijakan ResponseCache.

Hal ini sangat membantu jika data backend hanya diperbarui secara berkala. Kebijakan ResponseCache dapat mengurangi panggilan ke sumber data backend.

Melalui kebijakan ResponseCache, Anda juga dapat meminta Apigee melihat header caching respons HTTP tertentu dan mengambil tindakan sesuai dengan perintah header. Misalnya, pada respons dari target backend, Apigee mendukung header Cache-Control. Header ini dapat digunakan untuk mengontrol usia maksimum respons yang di-cache, dan sebagainya. Untuk mengetahui informasi selengkapnya, lihat Dukungan untuk header respons HTTP.

Cache tujuan umum jangka pendek

Dengan menggunakan kebijakan untuk caching tujuan umum, Anda dapat mempertahankan objek apa pun yang diperlukan proxy di beberapa sesi permintaan/respons.

Dengan kebijakan PopulateCache, kebijakan LookupCache, dan kebijakan InvalidateCache, Anda dapat mengisi, mengambil, dan menghapus data yang di-cache saat runtime.

Misalnya, Anda dapat menyimpan:

  • ID sesi untuk pengelolaan sesi.
  • Kredensial untuk panggilan keluar (seperti kunci API atau token akses OAuth).
  • Konten respons yang harus diberi nomor halaman untuk aplikasi.

Saat runtime, kebijakan cache Anda akan menyalin nilai antara variabel proxy dan cache terkonfigurasi yang Anda tentukan. Ketika sebuah nilai ditempatkan di cache, nilai tersebut akan disalin dari variabel yang Anda tentukan ke cache. Saat diambil dari cache, data tersebut akan disalin ke variabel untuk digunakan oleh proxy Anda.

Untuk contoh dengan kode, lihat Contoh: Cache tujuan umum.

Mengelola cache dengan Apigee API

Anda dapat membuat daftar dan menghapus cache menggunakan API cache.

Persistensi jangka panjang dengan peta nilai kunci (KVM)

Untuk menyimpan data terstruktur tanpa batas waktu, baik yang dienkripsi maupun yang tidak dienkripsi, Anda dapat membuat dan mengisi peta nilai kunci (KVM) yang berisi key-value pair arbitrer. Misalnya, Anda dapat menyimpan:

  • Peta yang menghubungkan alamat IP dengan kode negara.
  • Daftar alamat IP yang diizinkan/ditolak akses.
  • Peta yang menghubungkan URL panjang dengan URL yang disingkat.
  • Data khusus lingkungan, seperti jumlah kuota dan waktu habis masa berlaku token OAuth.

KVM dapat memiliki salah satu dari tiga cakupan: organisasi, lingkungan, apiproxy. Misalnya, jika key-value pair akan digunakan untuk semua API di organisasi, buat KVM pada cakupan organisasi; atau jika hanya proxy API tertentu yang boleh memiliki akses ke kunci/nilai, buat KVM di cakupan apiproxy. Untuk mengetahui informasi selengkapnya, lihat Bekerja dengan peta nilai kunci.

Kumpulan properti

Kumpulan properti adalah kumpulan kustom key-value pair yang menyimpan data. Proxy API dapat mengambil data ini saat dieksekusi.

Biasanya, Anda menggunakan set properti untuk menyimpan data yang tidak akan habis masa berlakunya yang tidak boleh di-hard code dalam logika proxy API Anda, seperti data konfigurasi. Anda dapat mengakses data set properti di mana saja di proxy tempat Anda dapat mengakses variabel flow.

Kasus penggunaan umum untuk kumpulan properti adalah memberikan nilai yang terkait dengan satu lingkungan atau lingkungan lainnya. Misalnya, Anda dapat membuat properti cakupan lingkungan yang ditetapkan dengan nilai konfigurasi yang spesifik untuk proxy yang berjalan di lingkungan pengujian, dan kumpulan lain untuk lingkungan produksi Anda.

Untuk informasi selengkapnya, lihat Menggunakan kumpulan properti.

Rahasia Kubernetes

(Khusus Apigee Hybrid) Jika Anda sudah menggunakan Kubernetes untuk pengelolaan secret dalam vault kustom untuk data sensitif, sebaiknya pertimbangkan untuk menggunakan Kubernetes Secrets. Sama seperti data KVM, Anda dapat mengakses data secret Kubernetes dalam variabel aliran proxy API. Untuk mengetahui informasi selengkapnya, lihat Menyimpan data dalam secret Kubernetes.