Sie sehen sich die Dokumentation zu Apigee Edge an.
Sehen Sie sich die Apigee X-Dokumentation an. info
Sie können das apigee-access
-Modul verwenden, um innerhalb einer Node.js-Anwendung auf den Edge-verteilten Cache zuzugreifen. Das Modul enthält Methoden zum Abrufen eines Cache sowie zum Erstellen, Abrufen und Entfernen von Daten.
Im verteilten Cache von Apigee Edge können Sie Strings oder andere Daten speichern. Wie die meisten Caches ist es ein LRU-Cache mit einer maximalen Größe. In Apigee Edge wird der Cache auf alle Knoten verteilt, auf denen Ihre Node.js-Anwendung ausgeführt wird. Sie können den Cache über eine Apigee Edge API verwalten. Mit der API können Sie Cache-Ressourcen manuell erstellen oder die Standardressource verwenden. Eine Einführung in das Caching in Apigee Edge finden Sie unter Persistenztools in Edge. Weitere Informationen zum verteilten Cache finden Sie unter Beispiel: Caching für allgemeine Zwecke.
Eine Einführung in das apigee-access
-Modul und seine anderen Funktionen finden Sie unter Apigee-Access-Modul verwenden.
Methoden
(1) getCache
var
cache = apigee.getCache(cacheName);
Suchen Sie nach einem benannten Cache und erstellen Sie ihn bei Bedarf. Der resultierende Cache verwendet einen vordefinierten Satz von Konfigurationsparametern, der für die meisten Situationen geeignet ist.
Parameter:
cacheName: Ein String, der Name des Caches. (Nicht der Name der Cache-Ressource).
Gibt zurück:
Ein Cache-Objekt.
Beispiel:
var apigee = require('apigee-access'); var cache = apigee.getCache('cache');
(2) getCache
var
customCache = apigee.getCache(cacheName, options );
Zugriff auf eine benutzerdefinierte Cache-Ressource, die in einem Konfigurationsobjekt angegeben ist. Informationen zum Erstellen einer Cache-Ressource finden Sie unter Umgebungs-Cache erstellen und bearbeiten.
Parameter:
cacheName Ein String, der Name des benutzerdefinierten Caches. (Nicht der Name der Cache-Ressource)
options: Ein Konfigurationsobjekt. Das Objekt kann leer sein oder die folgenden optionalen Parameter enthalten:
-
resource
: Der Name einer Apigee-Cache-Ressource, in der die Cache-Daten gespeichert werden. Cache-Ressourcen werden verwendet, um die Arbeitsspeicherzuweisung und andere Cache-Parameter zu optimieren. Wenn keine Angabe erfolgt, wird eine Standardressource verwendet. Wenn die Cache-Ressource nicht vorhanden ist, gibt die Methode einen Fehler zurück. -
scope
: Gibt an, ob Cache-Einträgen ein Präfix vorangestellt wird, um Kollisionen zu vermeiden. Gültige Werte sindglobal
,application
undexclusive
.-
global
: Alle Cache-Einträge können von allen Node.js-Anwendungen in derselben Apigee-"Umgebung" gesehen werden. -
application
: Alle Cache-Einträge können von allen Node.js-Caches gesehen werden, die zu derselben Apigee Edge-Anwendung gehören. -
exclusive
: (Standard) Cacheeinträge werden nur von Node.js-Caches in derselben Anwendung mit demselben Namen gesehen. Das ist die Standardeinstellung.
-
-
prefix
: Wenn der Name des Cache-Schlüssels ein Präfix enthält, wie unter PopulateCache-Richtlinie und Mit Cache-Schlüsseln arbeiten beschrieben, verwenden Sie diesen Parameter, um es anzugeben. Edge fügt dem Präfixnamen automatisch ein doppeltes Unterstrich-Suffix hinzu. Wenn also ein Cache-Schlüssel mit dem Präfix „UserToken“ erstellt wurde, muss hier „UserToken__“ angegeben werden. -
defaultTtl
: Gibt die Standard-Gültigkeitsdauer für einen Cacheeintrag in Sekunden an. Wenn keine Angabe erfolgt, wird die Standard-TTL in der Cache-Ressource verwendet. -
timeout
: Gibt in Sekunden an, wie lange gewartet werden soll, bis ein Ergebnis aus dem verteilten Cache abgerufen wird. Der Standardwert ist 30 Sekunden. Bei latenzempfindlichen Anwendungen kann dieser Wert reduziert werden, um langsame Antwortzeiten zu vermeiden, wenn die Cache-Infrastruktur überlastet ist.
Gibt zurück:
Ein benutzerdefiniertes Cache-Objekt.
Beispiel:
var apigee = require('apigee-access'); var customCache = apigee.getCache('doesNotMatter', { resource: 'MyCustomResource', scope: 'global', prefix: 'UserToken'} ); customCache.put("myCacheKey", "xyz");
Das funktioniert mit einer LookupCache-Richtlinie, die so konfiguriert ist:
<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));
Daten in einen Cache speichern
Parameter:
-
key
: (erforderlich) Ein String, der das Element im Cache eindeutig identifiziert. Cache-Schlüssel sind auf eine Größe von 2 KB begrenzt. -
data
: (Erforderlich) Ein String, Puffer oder Objekt, das die zu cachenden Daten darstellt. Alle anderen Datentypen führen zu einem Fehler. Der Einfachheit halber werden Objekte mithilfe von „JSON.stringify“ in einen String konvertiert. -
ttl
: (Optional) Die maximale Zeit, für die die Daten im Cache gespeichert werden, in Sekunden. Wenn keine Angabe erfolgt, wird eine Standard-TTL verwendet. -
callback
: (optional) Eine Funktion, die aufgerufen wird, sobald sich die Daten sicher im Cache befinden. Wenn ein Einfügungsfehler auftritt, wird die Funktion mit einem Fehlerobjekt als ersten Parameter aufgerufen. Andernfalls wird sie ohne Parameter aufgerufen.
Beispiel:
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 });
abrufen
cache.get('key',
function(error, data));
Daten aus einem Cache abrufen
Parameter:
-
key
(erforderlich): Ein String, der das Element im Cache eindeutig identifiziert.Für Cache-Einträge, die von einer Apigee Edge-Richtlinie in den Cache verschoben werden (z. B. Richtlinie zum Ausfüllen des Cache), müssen Sie den Cache-Schlüssel erstellen, indem Sie von der spezifischen Art ableiten, wie die Richtlinie Schlüssel für Einträge erstellt. Dazu müssen Sie wissen, wie die Richtlinie konfiguriert ist. Im Artikel Mit Cacheschlüsseln arbeiten wird beschrieben, wie Cacheschlüssel durch Richtlinien erstellt werden. Beachten Sie jedoch, dass Sie keine Stringwerte für den Umfang angeben sollten. Bei Aufrufen von Node.js ist der Umfang bereits Teil des Kontexts.
-
callback
(erforderlich): Eine Funktion, die aufgerufen wird, wenn die Daten verfügbar sind. Wenn es Daten im Cache gibt, werden sie im zweiten Parameter zurückgegeben.-
error
: Ein Fehlerobjekt. Wenn beim Abrufen aus dem Cache ein Fehler auftritt, wird hier ein Fehlerobjekt festgelegt. Andernfalls wird dieser Parameter auf „undefiniert“ gesetzt. -
data
: Die abgerufenen Daten, falls vorhanden. Es kann einen der folgenden vier Werte haben:- Wenn ein String eingefügt wurde, ist es ein String.
- Wenn ein Puffer eingefügt wurde, wird er als Puffer angezeigt.
- Wenn ein Objekt eingefügt wurde, ist es ein String, der die von „JSON.stringify“ erzeugte JSON-Version des Objekts enthält.
- Wenn nichts gefunden wurde, wird „nicht definiert“ angezeigt.
-
Beispiel:
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 });
entfernen
cache.remove('key', function(error));
Cache-Elemente entwerten Sobald ein Schlüssel ungültig gemacht wurde, geben nachfolgende get()-Anfragen "undefined" zurück, sofern kein anderer Wert eingefügt wurde.
Parameter:
-
key
(erforderlich): Ein String, der das Element im Cache eindeutig identifiziert, das ungültig gemacht werden soll.Für Cache-Einträge, die von einer Apigee Edge-Richtlinie in den Cache verschoben werden (z. B. Richtlinie zum Ausfüllen des Cache), müssen Sie den Cache-Schlüssel erstellen, indem Sie von der spezifischen Art ableiten, wie die Richtlinie Schlüssel für Einträge erstellt. Dazu müssen Sie wissen, wie die Richtlinie konfiguriert ist. Im Artikel Mit Cacheschlüsseln arbeiten wird beschrieben, wie Cacheschlüssel durch Richtlinien erstellt werden. Beachten Sie jedoch, dass Sie keine Stringwerte für den Umfang angeben sollten. Bei Aufrufen von Node.js ist der Umfang bereits Teil des Kontexts.
-
callback
(erforderlich): Eine Callback-Funktion, die bei einem Fehler mit einem Fehlerobjekt als erster Parameter aufgerufen wird.
Beispiel:
var apigee = require('apigee-access'); var cache = apigee.getCache(); cache.remove('key', function(error) { });