Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
Для доступа к распределенному кэшу Edge из приложения Node.js можно использовать модуль apigee-access . Модуль включает методы для получения кэша , а также для добавления , получения и удаления данных.
Распределенный кэш Apigee Edge позволяет хранить строки или другие данные. Как и большинство кэшей, это кэш наименее недавно использованных данных с максимальным размером. Внутри Apigee Edge кэш распределяется между всеми узлами, на которых выполняется ваше приложение Node.js. Вы можете управлять кэшем через API Apigee Edge. Используя API, вы можете вручную создавать ресурсы кэша или использовать ресурсы по умолчанию. Введение в кэширование в Apigee Edge см. в разделе « Инструменты сохранения данных в Edge» . Чтобы узнать больше о распределенном кэше, см. «Пример: кэширование общего назначения» .
Для ознакомления с модулем apigee-access и его другими функциями см. раздел «Использование модуля apigee-access» .
Методы
(1) getCache
var cache = apigee.getCache( cacheName );Найдите именованный кэш и создайте его при необходимости. Полученный кэш использует предопределенный набор параметров конфигурации, подходящий для большинства ситуаций.
Параметры:
cacheName — строка, имя кэша (не имя ресурса кэша).
Возвращает:
Объект кэша.
Пример:
var apigee = require('apigee-access'); var cache = apigee.getCache('cache');
(2) getCache
var customCache = apigee.getCache( cacheName , options );Получите доступ к пользовательскому ресурсу кэша, указанному в объекте конфигурации. Информацию о создании ресурса кэша см. в разделе «Создание и редактирование кэша среды» .
Параметры:
cacheName — строка, имя пользовательского кэша. (Не имя ресурса кэша)
options — Объект конфигурации. Объект может быть пустым или содержать следующие необязательные параметры:
resource: Имя ресурса кэша Apigee, где хранятся данные кэша. Ресурсы кэша используются для точной настройки распределения памяти и других параметров кэша. Если не указано иное, будет использоваться ресурс по умолчанию. Если ресурс кэша не существует, метод выдаст ошибку.scope: Указывает, следует ли добавлять префиксы к записям кэша для предотвращения конфликтов. Допустимые значения:global,applicationиexclusive.global: Все записи кэша могут быть видны всем приложениям Node.js в одной и той же среде Apigee.application: Все записи кэша могут быть видны всем кэшам Node.js, входящим в состав одного и того же приложения Apigee Edge.exclusive: (По умолчанию) Записи кэша видны только кэшам Node.js в том же приложении, которые имеют одинаковое имя. Это значение по умолчанию.
prefix: Если имя ключа кэша содержит префикс, как описано в разделах «Заполнение политики кэша» и «Работа с ключами кэша» , используйте этот параметр для его указания. Edge автоматически добавляет суффикс с двойным подчеркиванием к имени префикса. Таким образом, если ключ кэша был создан с префиксом «UserToken», то здесь следует указать префикс «UserToken__».defaultTtl: Задает время жизни записи в кэше по умолчанию в секундах. Если не указано, будет использоваться значение TTL по умолчанию, указанное в ресурсе кэша.timeout: Время ожидания в секундах для получения результата из распределенного кэша. Значение по умолчанию — 30 секунд. Приложениям, чувствительным к задержкам, может потребоваться уменьшить это значение, чтобы предотвратить замедление отклика в случае перегрузки инфраструктуры кэширования.
Возвращает:
Пользовательский объект кэша.
Пример:
var apigee = require('apigee-access'); var customCache = apigee.getCache('doesNotMatter', { resource: 'MyCustomResource', scope: 'global', prefix: 'UserToken'} ); customCache.put("myCacheKey", "xyz");
Это работает при использовании политики LookupCache, настроенной следующим образом:
<LookupCache name="Lookup-Cache-1"> <CacheKey> <Prefix>UserToken</prefix> <KeyFragment>myCacheKey</KeyFragment> </CacheKey> <CacheResource>MyCustomResource</CacheResource> <Scope>Global</Scope> <AssignTo>contextVariable</AssignTo> </LookupCache>
помещать
cache.put(' key ', data , ttl , function( error ));Поместите данные в кэш.
Параметры:
key: (Обязательно) Строка, однозначно идентифицирующая элемент в кэше. Размер ключей кэша ограничен 2 КБ.data: (Обязательно) Строка, буфер или объект, представляющий данные для кэширования. Любой другой тип данных приведет к ошибке. Для удобства объекты будут преобразованы в строку с помощью функции "JSON.stringify".ttl: (Необязательно) Максимальное время сохранения данных в кэше в секундах. Если не указано, будет использоваться значение TTL по умолчанию.callback: (Необязательно) Если указано, функция, которая будет вызвана после того, как данные будут безопасно помещены в кэш. Она будет вызвана с объектом Error в качестве первого параметра, если произошла ошибка вставки, в противном случае она будет вызвана без параметров.
Пример:
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 });
получать
cache.get(' key ', function(error, data));Извлечение данных из кэша.
Параметры:
key(обязательно): Строка, однозначно идентифицирующая элемент в кэше.Для записей кэша, добавленных в кэш политикой Apigee Edge (например, политикой «Заполнение кэша» ), вам потребуется сформировать ключ кэша, определив его из конкретного способа создания ключей для записей в политике. Для этого вам нужно знать, как настроена политика. Хотя в разделе «Работа с ключами кэша» описывается, как создаются ключи кэша политиками, имейте в виду, что не следует указывать строковые значения, связанные с областью видимости; в вызовах из Node.js область видимости уже является частью контекста.
callback(обязательно): Функция, которая будет вызвана, когда данные станут доступны. Если данные кэшированы, она возвращается во втором параметре.error— Объект Error. Если при извлечении данных из кэша произошла ошибка, то здесь будет установлен объект Error. В противном случае этому параметру будет присвоено значение "undefined".data— полученные данные, если таковые имеются. Это будет одно из четырех значений:- Если была вставлена строка, она останется строкой.
- Если был вставлен объект типа Buffer, он останется объектом типа Buffer.
- Если был вставлен объект, он будет представлять собой строку, содержащую JSON-версию объекта, полученную с помощью функции "JSON.stringify".
- Если ничего не найдено, то значение будет "неопределено".
Пример:
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 });
удалять
cache.remove(' key ', function(error));Аннулировать кэшированный элемент. После аннулирования ключа последующие запросы get() будут возвращать "undefined", если не будет вставлено другое значение.
Параметры:
key(Обязательно): Строка, однозначно идентифицирующая элемент в кэше, который необходимо аннулировать.Для записей кэша, добавленных в кэш политикой Apigee Edge (например, политикой «Заполнение кэша» ), вам потребуется сформировать ключ кэша, определив его из конкретного способа создания ключей для записей в политике. Для этого вам нужно знать, как настроена политика. Хотя в разделе «Работа с ключами кэша» описывается, как создаются ключи кэша политиками, имейте в виду, что не следует указывать строковые значения, связанные с областью видимости; в вызовах из Node.js область видимости уже является частью контекста.
callback(Обязательно): Функция обратного вызова, которая будет вызвана с объектом Error в качестве первого параметра в случае возникновения ошибки.
Пример:
var apigee = require('apigee-access'); var cache = apigee.getCache(); cache.remove('key', function(error) { });
Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
Для доступа к распределенному кэшу Edge из приложения Node.js можно использовать модуль apigee-access . Модуль включает методы для получения кэша , а также для добавления , получения и удаления данных.
Распределенный кэш Apigee Edge позволяет хранить строки или другие данные. Как и большинство кэшей, это кэш наименее недавно использованных данных с максимальным размером. Внутри Apigee Edge кэш распределяется между всеми узлами, на которых выполняется ваше приложение Node.js. Вы можете управлять кэшем через API Apigee Edge. Используя API, вы можете вручную создавать ресурсы кэша или использовать ресурсы по умолчанию. Введение в кэширование в Apigee Edge см. в разделе « Инструменты сохранения данных в Edge» . Чтобы узнать больше о распределенном кэше, см. «Пример: кэширование общего назначения» .
Для ознакомления с модулем apigee-access и его другими функциями см. раздел «Использование модуля apigee-access» .
Методы
(1) getCache
var cache = apigee.getCache( cacheName );Найдите именованный кэш и создайте его при необходимости. Полученный кэш использует предопределенный набор параметров конфигурации, подходящий для большинства ситуаций.
Параметры:
cacheName — строка, имя кэша (не имя ресурса кэша).
Возвращает:
Объект кэша.
Пример:
var apigee = require('apigee-access'); var cache = apigee.getCache('cache');
(2) getCache
var customCache = apigee.getCache( cacheName , options );Получите доступ к пользовательскому ресурсу кэша, указанному в объекте конфигурации. Информацию о создании ресурса кэша см. в разделе «Создание и редактирование кэша среды» .
Параметры:
cacheName — строка, имя пользовательского кэша. (Не имя ресурса кэша)
options — Объект конфигурации. Объект может быть пустым или содержать следующие необязательные параметры:
resource: Имя ресурса кэша Apigee, где хранятся данные кэша. Ресурсы кэша используются для точной настройки распределения памяти и других параметров кэша. Если не указано иное, будет использоваться ресурс по умолчанию. Если ресурс кэша не существует, метод выдаст ошибку.scope: Указывает, следует ли добавлять префиксы к записям кэша для предотвращения конфликтов. Допустимые значения:global,applicationиexclusive.global: Все записи кэша могут быть видны всем приложениям Node.js в одной и той же среде Apigee.application: Все записи кэша могут быть видны всем кэшам Node.js, входящим в состав одного и того же приложения Apigee Edge.exclusive: (По умолчанию) Записи кэша видны только кэшам Node.js в том же приложении, которые имеют одинаковое имя. Это значение по умолчанию.
prefix: Если имя ключа кэша содержит префикс, как описано в разделах «Заполнение политики кэша» и «Работа с ключами кэша» , используйте этот параметр для его указания. Edge автоматически добавляет суффикс с двойным подчеркиванием к имени префикса. Таким образом, если ключ кэша был создан с префиксом «UserToken», то здесь следует указать префикс «UserToken__».defaultTtl: Задает время жизни записи в кэше по умолчанию в секундах. Если не указано, будет использоваться значение TTL по умолчанию, указанное в ресурсе кэша.timeout: Время ожидания в секундах для получения результата из распределенного кэша. Значение по умолчанию — 30 секунд. Приложениям, чувствительным к задержкам, может потребоваться уменьшить это значение, чтобы предотвратить замедление отклика в случае перегрузки инфраструктуры кэширования.
Возвращает:
Пользовательский объект кэша.
Пример:
var apigee = require('apigee-access'); var customCache = apigee.getCache('doesNotMatter', { resource: 'MyCustomResource', scope: 'global', prefix: 'UserToken'} ); customCache.put("myCacheKey", "xyz");
Это работает при использовании политики LookupCache, настроенной следующим образом:
<LookupCache name="Lookup-Cache-1"> <CacheKey> <Prefix>UserToken</prefix> <KeyFragment>myCacheKey</KeyFragment> </CacheKey> <CacheResource>MyCustomResource</CacheResource> <Scope>Global</Scope> <AssignTo>contextVariable</AssignTo> </LookupCache>
помещать
cache.put(' key ', data , ttl , function( error ));Поместите данные в кэш.
Параметры:
key: (Обязательно) Строка, однозначно идентифицирующая элемент в кэше. Размер ключей кэша ограничен 2 КБ.data: (Обязательно) Строка, буфер или объект, представляющий данные для кэширования. Любой другой тип данных приведет к ошибке. Для удобства объекты будут преобразованы в строку с помощью функции "JSON.stringify".ttl: (Необязательно) Максимальное время сохранения данных в кэше в секундах. Если не указано, будет использоваться значение TTL по умолчанию.callback: (Необязательно) Если указано, функция, которая будет вызвана после того, как данные будут безопасно помещены в кэш. Она будет вызвана с объектом Error в качестве первого параметра, если произошла ошибка вставки, в противном случае она будет вызвана без параметров.
Пример:
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 });
получать
cache.get(' key ', function(error, data));Извлечение данных из кэша.
Параметры:
key(обязательно): Строка, однозначно идентифицирующая элемент в кэше.Для записей кэша, добавленных в кэш политикой Apigee Edge (например, политикой «Заполнение кэша» ), вам потребуется сформировать ключ кэша, определив его из конкретного способа создания ключей для записей в политике. Для этого вам нужно знать, как настроена политика. Хотя в разделе «Работа с ключами кэша» описывается, как создаются ключи кэша политиками, имейте в виду, что не следует указывать строковые значения, связанные с областью видимости; в вызовах из Node.js область видимости уже является частью контекста.
callback(обязательно): Функция, которая будет вызвана, когда данные станут доступны. Если данные кэшированы, она возвращается во втором параметре.error— Объект Error. Если при извлечении данных из кэша произошла ошибка, то здесь будет установлен объект Error. В противном случае этому параметру будет присвоено значение "undefined".data— полученные данные, если таковые имеются. Это будет одно из четырех значений:- Если была вставлена строка, она останется строкой.
- Если был вставлен объект типа Buffer, он останется объектом типа Buffer.
- Если был вставлен объект, он будет представлять собой строку, содержащую JSON-версию объекта, полученную с помощью функции "JSON.stringify".
- Если ничего не найдено, то значение будет "неопределено".
Пример:
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 });
удалять
cache.remove(' key ', function(error));Аннулировать кэшированный элемент. После аннулирования ключа последующие запросы get() будут возвращать "undefined", если не будет вставлено другое значение.
Параметры:
key(Обязательно): Строка, однозначно идентифицирующая элемент в кэше, который необходимо аннулировать.Для записей кэша, добавленных в кэш политикой Apigee Edge (например, политикой «Заполнение кэша» ), вам потребуется сформировать ключ кэша, определив его из конкретного способа создания ключей для записей в политике. Для этого вам нужно знать, как настроена политика. Хотя в разделе «Работа с ключами кэша» описывается, как создаются ключи кэша политиками, имейте в виду, что не следует указывать строковые значения, связанные с областью видимости; в вызовах из Node.js область видимости уже является частью контекста.
callback(Обязательно): Функция обратного вызова, которая будет вызвана с объектом Error в качестве первого параметра в случае возникновения ошибки.
Пример:
var apigee = require('apigee-access'); var cache = apigee.getCache(); cache.remove('key', function(error) { });