Accesso alla cache in Node.js

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

Puoi utilizzare il modulo apigee-access per accedere alla cache distribuita perimetrale da all'interno di un'applicazione Node.js. Il modulo include metodi per ottenere un Cache, puting, recupero e rimozione dei dati.

La cache distribuita Apigee Edge consente di archiviare stringhe o altri dati. Come la maggior parte delle cache, è una cache usata di recente con una dimensione massima. All'interno di Apigee Edge, la cache è distribuita su tutti i nodi in cui viene eseguita l'applicazione Node.js. Puoi gestire la cache tramite API Apigee Edge. Tramite l'API, puoi creare manualmente risorse cache oppure utilizzare risorsa predefinita. Per un'introduzione alla memorizzazione nella cache su Apigee Edge, consulta Strumenti di persistenza in Edge. Per scoprire di più sulla cache distribuita, consulta Esempio: uso generico per la memorizzazione nella cache.

Per un'introduzione al modulo apigee-access e alle sue altre funzionalità, vedi Utilizzo del modulo apigee-access.

Metodi


(1) getCache

var cache = apigee.getCache(cacheName);

Cerca una cache denominata e creala, se necessario. La cache risultante utilizza un insieme predefinito di parametri di configurazione adatti alla maggior parte delle situazioni.

Parametri:

cacheName: una stringa, il nome . (non il nome della risorsa cache).

Resi:

Un oggetto cache.

Esempio:

var apigee = require('apigee-access');
var cache = apigee.getCache('cache');

(2) getCache

var customCache = apigee.getCache(cacheName, options );

Accedere a una risorsa cache personalizzata specificata in un oggetto di configurazione. Per informazioni su come per creare una risorsa cache, consulta Creazione e modifica di un ambiente Cache.

Parametri:

cacheName: una stringa, il nome una cache personalizzata. (non il nome della risorsa cache)

options - Un oggetto di configurazione. La può essere vuoto oppure può contenere i seguenti parametri facoltativi:

  • resource: il nome di una "risorsa cache" Apigee. in cui memorizzati i dati della cache. Le risorse cache vengono utilizzate per ottimizzare l'allocazione della memoria e altre funzionalità parametri. Se non specificata, verrà utilizzata una risorsa predefinita. Se la risorsa cache non esiste, il metodo genera un errore.

  • scope: specifica se le voci della cache devono essere precedute da un prefisso per evitare collisioni. I valori validi sono global, application e exclusive.

    • global: tutte le voci della cache possono essere visualizzate da tutte le applicazioni Node.js nella lo stesso "ambiente" Apigee.

    • application: tutte le voci della cache possono essere visualizzate da tutte le cache Node.js che sono della stessa applicazione Apigee Edge.

    • exclusive (predefinita): le voci della cache sono visualizzate solo dalle cache Node.js in la stessa applicazione con lo stesso nome. Questa è l'impostazione predefinita.

  • prefix: se il nome della chiave cache include un prefisso, ad esempio descritto in Compilare Criterio cache e Utilizzo delle chiavi cache, utilizza questo parametro per specificarlo. Edge aggiunge automaticamente un suffisso con doppio trattino basso al del prefisso. Quindi, se una chiave cache è stata creata con il prefisso "UserToken", il prefisso da specificare ecco "UserToken__".

  • defaultTtl: specifica la durata predefinita di una cache. del testo, in secondi. Se non specificato, il TTL predefinito nella risorsa cache sarà in uso.

  • timeout: tempo di attesa per recuperare un risultato dal in pochi secondi. Il valore predefinito è 30 secondi. Le applicazioni sensibili alla latenza possono ridurre questo aspetto per evitare tempi di risposta lenti nel caso in cui l'infrastruttura di cache sovraccarico.

Resi:

Un oggetto cache personalizzato.

Esempio:

var apigee = require('apigee-access');
var customCache = apigee.getCache('doesNotMatter',
  { resource: 'MyCustomResource', scope: 'global', prefix: 'UserToken'} );
customCache.put("myCacheKey", "xyz");

Funziona con un criterio LookupCache configurato nel seguente modo:

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

Memorizza i dati in una cache.

Parametri:

  • key: (obbligatorio) una stringa che identifica in modo univoco l'elemento nella cache. La dimensione delle chiavi cache è limitata a 2 kB.

  • data: (obbligatorio) una stringa, un buffer o un oggetto che rappresenta i dati da memorizzare nella cache. Qualsiasi altro tipo di dati restituirà un errore. Per praticità, verranno convertiti in una stringa utilizzando "JSON.stringify".

  • ttl (Facoltativo) Il tempo massimo per mantenere la di dati nella cache, in pochi secondi. Se non specificato, verrà utilizzato un TTL predefinito.

  • callback: (facoltativo) se specificato, una funzione che verrà chiamato quando i dati saranno al sicuro nella cache. Verrà richiamata con un oggetto Error come primo parametro se si verifica un errore di inserimento, altrimenti viene chiamato con nessun parametro.

Esempio:

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

recupero

cache.get('key', function(error, data));

Recupera i dati da una cache.

Parametri:

  • key (obbligatorio): una stringa che identifica in modo univoco l'elemento nella cache.

    Per le voci della cache inserite nella cache da un criterio Apigee Edge (ad esempio Compila criterio Cache), puoi dovrà creare la chiave cache deducendo dal modo specifico in cui il criterio tasti per le voci. Per farlo, dovrai sapere come viene configurato il criterio. Mentre Utilizzo delle chiavi cache descrive in che modo le chiavi cache vengono create dai criteri, tieni presente che non devi specificare i valori stringa relativi all'ambito; nelle chiamate da Node.js, l'ambito fa già parte contesto.

  • callback (obbligatorio): una funzione che viene chiamata quando i dati sono disponibili. Se sono presenti dati memorizzati nella cache, questi vengono restituiti nel secondo .

    • error - Un oggetto Error. In caso di errore durante il recupero dalla cache, verrà impostato qui un oggetto Error. In caso contrario, verrà impostato su "undefined".

    • data: gli eventuali dati recuperati. Sarà uno dei quattro valori:

      • Se è stata inserita, si tratta di una stringa.
      • Se è stato inserito un buffer, si tratta di un buffer.
      • Se un oggetto è stato inserito, si tratterà di una stringa contenente la versione JSON dell'oggetto generato da "JSON.stringify".
      • Se non è stato trovato nulla, sarà "indefinito".

Esempio:

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

rimuovi

cache.remove('key', function(error));

Annulla la validità di un elemento memorizzato nella cache. Una volta invalidata una chiave, le successive richieste get() restituiranno "non definito" a meno che non venga inserito un altro valore.

Parametri:

  • key (obbligatorio): una stringa che identifica in modo univoco dell'elemento nella cache da invalidare.

    Per le voci della cache inserite nella cache da un criterio Apigee Edge (ad esempio Compila criterio Cache), puoi dovrà creare la chiave cache deducendo dal modo specifico in cui il criterio tasti per le voci. Per farlo, dovrai sapere come viene configurato il criterio. Mentre Utilizzo delle chiavi cache descrive in che modo le chiavi cache vengono create dai criteri, tieni presente che non devi specificare i valori stringa relativi all'ambito; nelle chiamate da Node.js, l'ambito fa già parte contesto.

  • callback (obbligatorio): una funzione di callback che Essere chiamato con un oggetto Error come primo parametro in caso di errore.

Esempio:

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