Auf den Cache in Node.js zugreifen

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

Sie können das Modul apigee-access verwenden, um auf den verteilten Edge-Cache von Node.js-Anwendung ausführen können. Das Modul enthält Methoden zum Abrufen eines Daten im Cache speichern und Daten ablegen, abrufen und entfernen.

Mit dem verteilten Cache von Apigee Edge können Sie Strings oder andere Daten speichern. Wie die meisten Caches ist ein zuletzt verwendeter Cache mit einer maximalen Größe. Innerhalb von Apigee Edge wird der Cache verteilt. unter allen Knoten, auf denen Ihre Node.js-Anwendung ausgeführt wird. Sie können den Cache über eine Apigee Edge API Mit der API können Sie Cache-Ressourcen manuell erstellen oder die Methode Standardressource. Eine Einführung zum Caching auf Apigee Edge finden Sie unter Persistenztools in Edge. Weitere Informationen Informationen zum verteilten Cache siehe Beispiel: für allgemeine Zwecke Caching.

Eine Einführung in das Modul apigee-access und seine anderen Funktionen finden Sie unter Apigee-Access-Modul verwenden

Methoden


(1) getCache

var cache = apigee.getCache(cacheName);

Suchen Sie einen benannten Cache und erstellen Sie ihn bei Bedarf. Der resultierende Cache verwendet einen vordefinierten Satz von Konfigurationsparametern, die für die meisten Situationen geeignet sind.

Parameter:

cacheName – Ein String, der Name der Cache gespeichert werden. (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 );

Auf eine benutzerdefinierte Cache-Ressource zugreifen, die in einem Konfigurationsobjekt angegeben ist. Weitere Informationen dazu, Informationen zum Erstellen einer Cache-Ressource finden Sie unter Umgebung erstellen und bearbeiten Cache speichern.

Parameter:

cacheName – Ein String, der Name der benutzerdefinierten Cache. (Nicht der Name der Cache-Ressource)

options – Ein Konfigurationsobjekt. Die kann leer sein oder die folgenden optionalen Parameter enthalten:

  • resource: Der Name einer Apigee-„Cache-Ressource“ Dabei gilt: im Cache gespeichert werden. Cache-Ressourcen werden verwendet, um die Arbeitsspeicherzuweisung und andere Caches zu optimieren Parameter. Wenn keine Angabe erfolgt, wird eine Standardressource verwendet. Wenn die Cache-Ressource vorhanden ist, gibt die Methode einen Fehler aus.

  • scope: Gibt an, ob Cache-Einträgen ein Präfix für Kollisionen zu vermeiden. Gültige Werte sind global, application und exclusive

    • global: Alle Cache-Einträge können von allen Node.js-Anwendungen in der in derselben Apigee-"Umgebung".

    • application: Alle Cache-Einträge können von allen Node.js-Caches gesehen werden, die Teil derselben Apigee Edge-Anwendung.

    • exclusive: (Standardeinstellung) Cache-Einträge werden nur von Node.js-Caches in der Anwendung mit demselben Namen erstellen. Das ist die Standardeinstellung.

  • prefix: Wenn der Name des Cache-Schlüssels ein Präfix wie beschrieben in Auffüllen Cache-Richtlinie und Arbeiten mit Cache-Schlüsseln verwenden um sie anzugeben. Edge fügt automatisch ein Suffix mit doppelter Unterstrich an die Präfixname. Wenn also ein Cache-Schlüssel mit dem Präfix „UserToken“ erstellt wurde, wird das Präfix ist „UserToken__“.

  • defaultTtl: Gibt die Standard-Gültigkeitsdauer für einen Cache an in Sekundenschnelle. Wenn keine Angabe erfolgt, lautet die Standard-TTL in der Cache-Ressource verwendet.

  • timeout: wie lange auf das Abrufen eines Ergebnisses aus dem verteilten Cache in Sekundenschnelle. Der Standardwert von 30 Sekunden. Latenzempfindliche Anwendungen können dies reduzieren möchten, um langsame Antwortzeiten zu vermeiden, wenn die Cache-Infrastruktur überlastet.

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");

Dies 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 eindeutig identifiziert das Element im Cache. Cache-Schlüssel sind auf eine Größe von 2 KB begrenzt.

  • data (erforderlich): Ein String, ein Zwischenspeicher oder ein Objekt, das steht für die Daten, die im Cache gespeichert werden sollen. Jeder andere Datentyp führt zu einem Fehler. Der Einfachheit halber -Objekte werden mithilfe von "JSON.stringify" in einen String konvertiert.

  • ttl: (Optional) Die maximale Dauer der Aufbewahrung des Daten im Cache in Sekunden. Wenn keine Angabe erfolgt, wird eine Standard-TTL verwendet.

  • callback (optional): Wenn angegeben, eine Funktion, die wird aufgerufen, sobald sich die Daten sicher im Cache befinden. Sie wird mit einem Fehlerobjekt aufgerufen als ersten Parameter verwenden, wenn ein Einfügungsfehler auftritt. Andernfalls wird er mit keine Parameter.

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));

Rufen Sie Daten aus einem Cache ab.

Parameter:

  • key (erforderlich): Ein String, der eindeutig identifiziert das Element im Cache.

    Für Cache-Einträge, die von einer Apigee Edge-Richtlinie in den Cache verschoben werden (z. B. Richtlinie zum Ausfüllen des Cache), muss den Cache-Schlüssel erstellen, indem er von der spezifischen Art, wie die Richtlinie Schlüssel für Einträge. Dazu müssen Sie wissen, wie die Richtlinie konfiguriert ist. Während Mit Cache-Schlüsseln arbeiten wird beschrieben, wie Cache-Schlüssel durch Richtlinien erstellt werden. Stringwerte, die sich auf den Bereich beziehen; Bei Aufrufen aus Node.js ist der Bereich bereits Teil der Kontext.

  • callback (erforderlich): Eine Funktion, die aufgerufen wird wenn die Daten verfügbar sind. Im Cache gespeicherte Daten werden im zweiten .

    • error: Ein Fehlerobjekt. Wenn ein Fehler auftritt beim Abrufen aus dem Cache, wird hier ein Fehlerobjekt festgelegt. Andernfalls wird auf „nicht definiert“ festgelegt.

    • data: Die abgerufenen Daten, falls vorhanden. Es wird einen von vier Werten:

      • Wenn ein String eingefügt wurde, ist es ein String.
      • Wenn ein Puffer eingefügt wurde, handelt es sich um einen Puffer.
      • Wenn ein Objekt eingefügt wurde, ist es ein String, der die JSON-Version des wie durch "JSON.stringify" erzeugt.
      • Wenn nichts gefunden wurde, gilt es als „nicht definiert“.

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));

Im Cache gespeichertes Element entwerten. Sobald ein Schlüssel ungültig gemacht wurde, wird bei nachfolgenden get()-Anfragen „nicht definiert“ es sei denn, ein anderer Wert wird eingefügt.

Parameter:

  • key (erforderlich): Ein String, der eindeutig identifiziert das Element im Cache zu entwerten.

    Für Cache-Einträge, die von einer Apigee Edge-Richtlinie in den Cache verschoben werden (z. B. Richtlinie zum Ausfüllen des Cache), muss den Cache-Schlüssel erstellen, indem er von der spezifischen Art, wie die Richtlinie Schlüssel für Einträge. Dazu müssen Sie wissen, wie die Richtlinie konfiguriert ist. Während Mit Cache-Schlüsseln arbeiten wird beschrieben, wie Cache-Schlüssel durch Richtlinien erstellt werden. Stringwerte, die sich auf den Bereich beziehen; Bei Aufrufen aus Node.js ist der Bereich bereits Teil der Kontext.

  • callback (erforderlich): Eine Callback-Funktion, die Bei einem Fehler wird mit einem Error-Objekt als erster Parameter aufgerufen.

Beispiel:

var apigee = require('apigee-access');
var cache = apigee.getCache();
cache.remove('key', function(error) {
});