Estás viendo la documentación de Apigee Edge.
Ve a la
documentación de Apigee X. info
Puedes usar el módulo apigee-access
para acceder a la caché distribuida de Edge desde una aplicación de Node.js. El módulo incluye métodos para obtener una caché y colocar, obtener y quitar datos.
La caché distribuida de Apigee Edge te permite almacenar strings y otros datos. Al igual que la mayoría de las cachés, es una caché de uso menos reciente con un tamaño máximo. Dentro de Apigee Edge, la caché se distribuye entre todos los nodos en los que se ejecuta tu aplicación de Node.js. Puedes administrar la caché a través de una API de Apigee Edge. Con la API, puedes crear recursos de caché de forma manual o puedes usar el recurso predeterminado. Para obtener una introducción al almacenamiento en caché en Apigee Edge, consulta Herramientas de persistencia en Edge. Para obtener más información sobre la caché distribuida, consulta Ejemplo: Almacenamiento en caché de uso general.
Para obtener una introducción al módulo apigee-access
y sus otras funciones, consulta Cómo usar el módulo apigee-access.
Métodos
(1) getCache
var
cache = apigee.getCache(cacheName);
Busca una caché con nombre y créala si es necesario. La caché resultante usa un conjunto predefinido de parámetros de configuración adecuados para la mayoría de las situaciones.
Parámetros:
cacheName: Es una cadena, el nombre de la caché. (No es el nombre del recurso de caché).
Muestra:
Un objeto de caché.
Ejemplo:
var apigee = require('apigee-access'); var cache = apigee.getCache('cache');
(2) getCache
var
customCache = apigee.getCache(cacheName, options );
Accede a un recurso de caché personalizado especificado en un objeto de configuración. Para obtener información sobre cómo crear un recurso de caché, consulta Crea y edita una caché de entorno.
Parámetros:
cacheName: Es una cadena, el nombre de la caché personalizada. (No es el nombre del recurso de caché).
options: Es un objeto de configuración. El objeto puede estar vacío o contener los siguientes parámetros opcionales:
-
resource
: Es el nombre de un “recurso de caché” de Apigee en el que se almacenan los datos de caché. Los recursos de caché se usan para ajustar la asignación de memoria y otros parámetros de caché. Si no se especifica, se usará un recurso predeterminado. Si el recurso de caché no existe, el método arroja un error. -
scope
: Especifica si las entradas de caché tienen un prefijo para evitar colisiones. Los valores válidos songlobal
,application
yexclusive
.-
global
: Todas las aplicaciones de Node.js pueden ver todas las entradas de la caché en el mismo “entorno” de Apigee. -
application
: Todas las cachés de Node.js que forman parte de la misma aplicación de Apigee Edge pueden ver todas las entradas de caché. -
exclusive
: (Opción predeterminada) Las cachés de Node.js solo ven las entradas de caché en la misma aplicación que tienen el mismo nombre. Esta es la opción predeterminada.
-
-
prefix
: Si el nombre de la clave de caché incluye un prefijo, como se describe en Propaga la política de caché y Trabaja con claves de caché, usa este parámetro para especificarlo. Edge agrega automáticamente un sufijo de dos guiones bajos al nombre del prefijo. Por lo tanto, si se creó una clave de caché con el prefijo "UserToken", el prefijo que se debe especificar aquí es "UserToken__". -
defaultTtl
: Especifica el tiempo de actividad predeterminado de una entrada de caché, en segundos. Si no se especifica, se usará el TTL predeterminado en el recurso de caché. -
timeout
: Es la cantidad de tiempo que se espera para recuperar un resultado de la caché distribuida, en segundos. El valor predeterminado es de 30 segundos. Es posible que las aplicaciones sensibles a la latencia deseen reducir esto para evitar tiempos de respuesta lentos si la infraestructura de caché está sobrecargada.
Muestra:
Un objeto de caché personalizado.
Ejemplo:
var apigee = require('apigee-access'); var customCache = apigee.getCache('doesNotMatter', { resource: 'MyCustomResource', scope: 'global', prefix: 'UserToken'} ); customCache.put("myCacheKey", "xyz");
Esto funciona con una política LookupCache configurada de la siguiente manera:
<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));
Coloca los datos en una caché.
Parámetros:
-
key
: (Obligatorio) Es una cadena que identifica de forma inequívoca el elemento en la caché. Las claves de caché se limitan a un tamaño de 2 KB. -
data
: (Obligatorio) Es una cadena, un búfer o un objeto que representa los datos que se almacenarán en caché. Cualquier otro tipo de datos generará un error. Para mayor comodidad, los objetos se convertirán en una cadena con “JSON.stringify”. -
ttl
: (Opcional) Es el tiempo máximo para conservar los datos en la caché, en segundos. Si no se especifica, se usará un TTL predeterminado. -
callback
: (Opcional) Si se especifica, es una función a la que se llamará una vez que los datos estén seguros en la caché. Se llamará con un objeto Error como primer parámetro si hay un error de inserción; de lo contrario, se lo llamará sin parámetros.
Ejemplo:
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));
Recupera datos de una caché.
Parámetros:
-
key
(obligatorio): Es una cadena que identifica de forma única el elemento en la caché.En el caso de las entradas de caché que se agregan a la caché desde una política de Apigee Edge (como la política Populate Cache), deberás construir la clave de caché infiriendo de la forma específica en que la política crea claves para las entradas. Para ello, deberás saber cómo se configura la política. Si bien en Cómo trabajar con claves de caché se describe cómo las políticas crean claves de caché, ten en cuenta que no debes especificar valores de cadena relacionados con el alcance. En las llamadas de Node.js, el alcance ya es parte del contexto.
-
callback
(obligatorio): Es una función a la que se llamará cuando los datos estén disponibles. Si hay datos almacenados en caché, se muestran en el segundo parámetro.-
error
: Es un objeto Error. Si hay un error mientras se recupera de la caché, se establecerá un objeto Error aquí. De lo contrario, este parámetro se establecerá en "undefined". -
data
: Son los datos recuperados, si los hay. Será uno de los siguientes cuatro valores:- Si se insertó una cadena, será una cadena.
- Si se insertó un búfer, será uno.
- Si se insertó un objeto, será una cadena que contiene la versión JSON del objeto como lo produce "JSON.stringify".
- Si no se encontró nada, aparecerá como "undefined".
-
Ejemplo:
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 });
quitar
cache.remove('key', function(error));
Invalida un elemento almacenado en caché. Una vez que se invalide una clave, las solicitudes get() posteriores mostrarán "undefined", a menos que se inserte otro valor.
Parámetros:
-
key
(obligatorio): Es una cadena que identifica de forma inequívoca el elemento de la caché que se invalidará.Para las entradas de caché que se colocan en la caché desde una política de Apigee Edge (como Propagar política de caché), deberás construir la clave de caché mediante la inferencia de la forma específica en la que la política crea claves para las entradas. Para ello, deberás saber cómo se configura la política. Si bien en Cómo trabajar con claves de caché se describe cómo las políticas crean claves de caché, ten en cuenta que no debes especificar valores de cadena relacionados con el alcance. En las llamadas de Node.js, el alcance ya es parte del contexto.
-
callback
(obligatorio): Es una función de devolución de llamada a la que se llamará con un objeto Error como primer parámetro si hay un error.
Ejemplo:
var apigee = require('apigee-access'); var cache = apigee.getCache(); cache.remove('key', function(error) { });