Anda melihat dokumentasi Apigee Edge.
Buka
dokumentasi Apigee X. info
Anda dapat menggunakan modul apigee-access untuk mengakses cache terdistribusi Edge dari
dalam aplikasi Node.js. Modul ini mencakup metode untuk mendapatkan
cache dan menempatkan, mendapatkan, serta menghapus data.
Cache terdistribusi Apigee Edge memungkinkan Anda menyimpan string atau data lainnya. Seperti kebanyakan cache, cache ini adalah cache yang paling jarang digunakan dengan ukuran maksimum. Di dalam Apigee Edge, cache didistribusikan di antara semua node tempat aplikasi Node.js Anda dieksekusi. Anda dapat mengelola cache melalui an Apigee Edge API. Dengan menggunakan API, Anda dapat membuat resource cache secara manual, atau menggunakan resource default. Untuk mengetahui pengantar tentang caching di Apigee Edge, lihat Alat persistensi di Edge. Untuk mempelajari cache terdistribusi lebih lanjut, lihat Contoh: Caching tujuan umum.
Untuk mengetahui pengantar tentang modul apigee-access dan fitur lainnya, lihat
Menggunakan modul apigee-access.
Metode
(1) getCache
var
cache = apigee.getCache(cacheName);Cari cache bernama dan buat jika perlu. Cache yang dihasilkan menggunakan kumpulan parameter konfigurasi yang telah ditentukan sebelumnya dan sesuai untuk sebagian besar situasi.
Parameter:
cacheName - String, nama cache. (Bukan nama resource cache).
Hasil:
Objek cache.
Contoh:
var apigee = require('apigee-access'); var cache = apigee.getCache('cache');
(2) getCache
var
customCache = apigee.getCache(cacheName, options );Akses resource cache kustom yang ditentukan dalam objek konfigurasi. Untuk mengetahui informasi tentang cara membuat resource cache, lihat Membuat dan mengedit cache lingkungan.
Parameter:
cacheName - String, nama cache kustom. (Bukan nama resource cache)
options - Objek konfigurasi. Objek dapat kosong, atau dapat berisi parameter opsional berikut:
-
resource: Nama "resource cache" Apigee tempat data cache disimpan. Resource cache digunakan untuk menyetel alokasi memori dan parameter cache lainnya Jika tidak ditentukan, resource default akan digunakan. Jika resource cache tidak tidak ada, metode akan menampilkan error. -
scope: Menentukan apakah entri cache diberi awalan untuk mencegah konflik. Nilai yang valid adalahglobal,application, danexclusive.-
global: Semua entri cache dapat dilihat oleh semua aplikasi Node.js di lingkungan "Apigee" yang sama. -
application: Semua entri cache dapat dilihat oleh semua cache Node.js yang merupakan bagian dari aplikasi Apigee Edge yang sama. -
exclusive: (Default) Entri cache hanya dilihat oleh cache Node.js di aplikasi yang sama dan memiliki nama yang sama. Ini adalah defaultnya.
-
-
prefix: Jika nama kunci cache menyertakan awalan, seperti yang dijelaskan dalam kebijakan Mengisi Cache dan Menggunakan kunci cache, gunakan parameter ini untuk menentukannya. Edge otomatis menambahkan akhiran garis bawah ganda ke nama awalan. Jadi, jika kunci cache dibuat dengan awalan "UserToken", awalan yang akan ditentukan di sini adalah "UserToken__". -
defaultTtl: Menentukan waktu default untuk masa aktif entri cache entri, dalam detik. Jika tidak ditentukan, TTL default di resource cache akan digunakan. -
timeout: Berapa lama harus menunggu untuk mengambil hasil dari cache terdistribusi, dalam detik. Defaultnya adalah 30 detik. Aplikasi yang sensitif terhadap latensi mungkin ingin mengurangi nilai ini untuk mencegah waktu respons yang lambat jika infrastruktur cache kelebihan beban.
Hasil:
Objek cache kustom.
Contoh:
var apigee = require('apigee-access'); var customCache = apigee.getCache('doesNotMatter', { resource: 'MyCustomResource', scope: 'global', prefix: 'UserToken'} ); customCache.put("myCacheKey", "xyz");
Hal ini berfungsi dengan kebijakan LookupCache yang dikonfigurasi seperti ini:
<LookupCache name="Lookup-Cache-1"> <CacheKey> <Prefix>UserToken</prefix> <KeyFragment>myCacheKey</KeyFragment> </CacheKey> <CacheResource>MyCustomResource</CacheResource> <Scope>Global</Scope> <AssignTo>contextVariable</AssignTo> </LookupCache>
put
cache.put('key',
data, ttl, function(error));Masukkan data ke dalam cache.
Parameter:
-
key: (Wajib) String yang secara unik mengidentifikasi item dalam cache. Kunci cache dibatasi hingga ukuran 2 KB. -
data: (Wajib) String, Buffer, atau objek yang mewakili data yang akan di-cache. Jenis data lainnya akan menghasilkan error. Untuk kemudahan, objek akan dikonversi menjadi string menggunakan "JSON.stringify". -
ttl: (Opsional) Waktu maksimum untuk mempertahankan data dalam cache, dalam detik. Jika tidak ditentukan, TTL default akan digunakan. -
callback: (Opsional) Jika ditentukan, fungsi yang akan dipanggil setelah data berada dengan aman di cache. Fungsi ini akan dipanggil dengan objek Error sebagai parameter pertama jika terjadi error penyisipan, dan jika tidak, fungsi ini akan dipanggil tanpa parameter.
Contoh:
var apigee = require('apigee-access'); var cache = apigee.getCache(); // Insert a string into cache using the default TTL cache.put('key1', 'Buenos dias, Mundo!'); // Insert a string into cache using a TTL of 120 seconds cache.put('key2', 'Hello, World!', 120); // Insert a string with the default TTL, and get notified when the insert is complete cache.put('key3', 'Ciao, Mondo!', function(error) { // "error" will be falsy unless there was an error on insert }); // Insert a string with a TTL of 600 seconds, and get notified when the insert is complete cache.put('key4', 'Hallo Wereld!', 600, function(error) { // "error" will be falsy unless there was an error on insert });
get
cache.get('key',
function(error, data));Ambil data dari cache.
Parameter:
-
key(wajib): String yang secara unik mengidentifikasi item dalam cache.Untuk entri cache yang dimasukkan ke cache dari kebijakan Apigee Edge (seperti kebijakan Mengisi Cache), Anda harus membuat kunci cache dengan menyimpulkan dari cara khusus kebijakan membuat kunci untuk entri. Untuk melakukannya, Anda harus mengetahui cara kebijakan dikonfigurasi. Meskipun Menggunakan kunci cache menjelaskan cara kunci cache dibuat oleh kebijakan, perlu diingat bahwa Anda tidak boleh menentukan nilai string yang terkait dengan cakupan; dalam panggilan dari Node.js, cakupan sudah menjadi bagian dari konteks.
-
callback(wajib): Fungsi yang akan dipanggil saat data tersedia. Jika ada data yang di-cache, data tersebut akan ditampilkan dalam parameter kedua parameter.-
error- Objek Error. Jika terjadi error saat mengambil dari cache, objek Error akan ditetapkan di sini. Jika tidak, parameter ini akan ditetapkan ke "undefined". -
data- Data yang diambil, jika ada. Data tersebut akan menjadi salah satu dari empat nilai:- Jika string disisipkan, string tersebut akan menjadi string.
- Jika Buffer disisipkan, Buffer tersebut akan menjadi Buffer.
- Jika objek disisipkan, objek tersebut akan menjadi string yang berisi versi JSON dari objek seperti yang dihasilkan oleh "JSON.stringify".
- Jika tidak ada yang ditemukan, nilai tersebut akan menjadi "undefined".
-
Contoh:
var apigee = require('apigee-access'); var cache = apigee.getCache(); cache.get('key', function(error, data) { // If there was an error, then "error" will be set. // If error is falsy, "data" is the item that was retrieved: // - undefined, in the case of cache miss, or // - a Buffer, or // - a String });
remove
cache.remove('key', function(error));Batalkan validasi item yang di-cache. Setelah kunci dibatalkan validasinya, permintaan get() berikutnya akan menampilkan "undefined" kecuali jika nilai lain disisipkan.
Parameter:
-
key(Wajib): String yang secara unik mengidentifikasi item dalam cache yang akan dibatalkan validasinya.Untuk entri cache yang dimasukkan ke cache dari kebijakan Apigee Edge (seperti kebijakan Mengisi Cache), Anda harus membuat kunci cache dengan menyimpulkan dari cara khusus kebijakan membuat kunci untuk entri. Untuk melakukannya, Anda harus mengetahui cara kebijakan dikonfigurasi. Meskipun Menggunakan kunci cache menjelaskan cara kunci cache dibuat oleh kebijakan, perlu diingat bahwa Anda tidak boleh menentukan nilai string yang terkait dengan cakupan; dalam panggilan dari Node.js, cakupan sudah menjadi bagian dari konteks.
-
callback(Wajib): Fungsi callback yang akan dipanggil dengan objek Error sebagai parameter pertama jika terjadi error.
Contoh:
var apigee = require('apigee-access'); var cache = apigee.getCache(); cache.remove('key', function(error) { });