Uzyskiwanie dostępu do pamięci podręcznej w Node.js

Wyświetlasz dokumentację Apigee Edge.
Przejdź do dokumentacji Apigee X.
info

Modułu apigee-access możesz używać do uzyskiwania dostępu do rozproszonej pamięci podręcznej Edge z poziomu aplikacji Node.js. Moduł zawiera metody pobierania pamięci podręcznej oraz umieszczania, pobierania i usuwania danych.

Rozproszona pamięć podręczna Apigee Edge umożliwia przechowywanie ciągów znaków i innych danych. Podobnie jak większość pamięci podręcznych, jest to pamięć podręczna LRU o maksymalnym rozmiarze. W Apigee Edge pamięć podręczna jest rozproszona na wszystkie węzły, w których działa Twoja aplikacja Node.js. Pamięcią podręczną możesz zarządzać za pomocą interfejsu Apigee Edge API. Za pomocą interfejsu API możesz ręcznie tworzyć zasoby pamięci podręcznej lub używać zasobu domyślnego. Wprowadzenie do buforowania w Apigee Edge znajdziesz w artykule Narzędzia do utrwalania danych w Edge. Więcej informacji o rozproszonej pamięci podręcznej znajdziesz w artykule Przykład: buforowanie ogólnego przeznaczenia.

Wprowadzenie do modułu apigee-access i jego innych funkcji znajdziesz w artykule Korzystanie z modułu apigee-access.

Metody


(1) getCache

var cache = apigee.getCache(cacheName);

Wyszukaj nazwaną pamięć podręczną i w razie potrzeby ją utwórz. Wynikowa pamięć podręczna używa predefiniowanego zestawu parametrów konfiguracyjnych odpowiednich w większości sytuacji.

Parametry:

cacheName – ciąg znaków, nazwa pamięci podręcznej. (Nie nazwa zasobu pamięci podręcznej).

Zwraca:

Obiekt pamięci podręcznej.

Przykład:

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

(2) getCache

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

Uzyskaj dostęp do niestandardowego zasobu pamięci podręcznej określonego w obiekcie konfiguracji. Informacje o tworzeniu zasobu pamięci podręcznej znajdziesz w artykule Tworzenie i edytowanie pamięci podręcznej środowiska.

Parametry:

cacheName – ciąg znaków, nazwa niestandardowej pamięci podręcznej. (Nie nazwa zasobu pamięci podręcznej)

options – obiekt konfiguracji. Obiekt może być pusty lub zawierać te opcjonalne parametry:

  • resource: nazwa „zasobu pamięci podręcznej” Apigee, w którym są przechowywane dane w pamięci podręcznej. Zasoby pamięci podręcznej służą do precyzyjnego dostrajania alokacji pamięci i innych parametrów pamięci podręcznej. Jeśli nie zostanie określony, użyty zostanie zasób domyślny. Jeśli zasób pamięci podręcznej nie istnieje, metoda zgłasza błąd.

  • scope: określa, czy do wpisów w pamięci podręcznej są dodawane prefiksy, aby zapobiec kolizjom. Prawidłowe wartości to global, application, i exclusive.

    • global: wszystkie wpisy w pamięci podręcznej mogą być widoczne dla wszystkich aplikacji Node.js w tym samym „środowisku” Apigee.

    • application: wszystkie wpisy w pamięci podręcznej mogą być widoczne dla wszystkich pamięci podręcznych Node.js, które są częścią tej samej aplikacji Apigee Edge.

    • exclusive: (domyślnie) wpisy w pamięci podręcznej są widoczne tylko dla pamięci podręcznych Node.js w tej samej aplikacji, które mają tę samą nazwę. Jest to ustawienie domyślne.

  • prefix: jeśli nazwa klucza pamięci podręcznej zawiera prefiks, jak opisano w zasadach Populate Cache i Praca z kluczami pamięci podręcznej, użyj tego parametru, aby go określić. Edge automatycznie dodaje do nazwy prefiksu sufiks w postaci 2 podkreśleń. Jeśli więc klucz pamięci podręcznej został utworzony z prefiksem „UserToken”, prefiks, który należy tu określić to „UserToken__”.

  • defaultTtl: określa domyślny czas życia danych (TTL) wpisu w pamięci podręcznej w sekundach. Jeśli nie zostanie określony, użyty zostanie domyślny czas życia w zasobie pamięci podręcznej. użyty.

  • timeout: czas oczekiwania na pobranie wyniku z rozproszonej pamięci podręcznej w sekundach. Domyślnie 30 sekund. Aplikacje wrażliwe na opóźnienia mogą chcieć zmniejszyć tę wartość, aby zapobiec długim czasom odpowiedzi w przypadku przeciążenia infrastruktury pamięci podręcznej.

Zwraca:

Niestandardowy obiekt pamięci podręcznej.

Przykład:

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

Działa to z zasadami LookupCache skonfigurowanymi w ten sposób:

<LookupCache name="Lookup-Cache-1">
  <CacheKey>
    <Prefix>UserToken</prefix>    
    <KeyFragment>myCacheKey</KeyFragment>
  </CacheKey>
  <CacheResource>MyCustomResource</CacheResource>
  <Scope>Global</Scope>
  <AssignTo>contextVariable</AssignTo>
</LookupCache>

Połącz

cache.put('key', data, ttl, function(error));

Umieść dane w pamięci podręcznej.

Parametry:

  • key: (wymagany) ciąg znaków, który jednoznacznie identyfikuje element w pamięci podręcznej. Klucze pamięci podręcznej mogą mieć maksymalnie 2 KB.

  • data: (wymagany) ciąg znaków, bufor lub obiekt reprezentujący dane do buforowania. Użycie innego typu danych spowoduje błąd. Dla wygody, obiekty zostaną przekonwertowane na ciąg znaków za pomocą funkcji „JSON.stringify”.

  • ttl: (opcjonalny) maksymalny czas przechowywania danych w pamięci podręcznej w sekundach. Jeśli nie zostanie określony, użyty zostanie domyślny czas życia.

  • callback: (opcjonalny) jeśli zostanie określona, funkcja, która zostanie wywołana, gdy dane zostaną bezpiecznie umieszczone w pamięci podręcznej. Jeśli wystąpi błąd wstawiania, zostanie wywołana z obiektem Error jako pierwszym parametrem. W przeciwnym razie zostanie wywołana bez parametrów .

Przykład:

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

Zacznij korzystać z

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

Pobierz dane z pamięci podręcznej.

Parametry:

  • key (wymagany): ciąg znaków, który jednoznacznie identyfikuje element w pamięci podręcznej.

    W przypadku wpisów w pamięci podręcznej umieszczonych w pamięci podręcznej za pomocą zasad Apigee Edge (np. zasad Populate Cache) musisz utworzyć klucz pamięci podręcznej, wnioskując z konkretnego sposobu, w jaki zasady tworzą klucze do wpisów. Aby to zrobić, musisz wiedzieć, jak skonfigurowane są zasady. W artykule Praca z kluczami pamięci podręcznej opisano, jak zasady tworzą klucze pamięci podręcznej. Pamiętaj jednak, że nie należy określać wartości ciągów znaków związanych z zakresem. W wywołaniach z Node.js zakres jest już częścią kontekstu.

  • callback (wymagany): funkcja, która zostanie wywołana gdy dane będą dostępne. Jeśli w pamięci podręcznej są dane, zostaną one zwrócone w drugim parametrze.

    • error – obiekt Error. Jeśli podczas pobierania z pamięci podręcznej wystąpi błąd, zostanie tu ustawiony obiekt Error. W przeciwnym razie ten parametr będzie miał wartość „undefined”.

    • data – pobrane dane, jeśli są dostępne. Może to być jedna z 4 wartości:

      • Jeśli wstawiono ciąg znaków, będzie to ciąg znaków.
      • Jeśli wstawiono bufor, będzie to bufor.
      • Jeśli wstawiono obiekt, będzie to ciąg znaków zawierający wersję JSON obiektu utworzoną przez funkcję „JSON.stringify”.
      • Jeśli nic nie zostanie znalezione, będzie to „undefined”.

Przykład:

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

usuń

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

Unieważnij element w pamięci podręcznej. Gdy klucz zostanie unieważniony, kolejne żądania get() będą zwracać wartość „undefined”, chyba że zostanie wstawiona inna wartość.

Parametry:

  • key (wymagany): ciąg znaków, który jednoznacznie identyfikuje element w pamięci podręcznej do unieważnienia.

    W przypadku wpisów w pamięci podręcznej umieszczonych w pamięci podręcznej za pomocą zasad Apigee Edge (np. zasad Populate Cache) musisz utworzyć klucz pamięci podręcznej, wnioskując z konkretnego sposobu, w jaki zasady tworzą klucze do wpisów. Aby to zrobić, musisz wiedzieć, jak skonfigurowane są zasady. W artykule Praca z kluczami pamięci podręcznej opisano, jak zasady tworzą klucze pamięci podręcznej. Pamiętaj jednak, że nie należy określać wartości ciągów znaków związanych z zakresem. W wywołaniach z Node.js zakres jest już częścią kontekstu.

  • callback (wymagany): wywołanie zwrotne, które zostanie wywołana z obiektem Error jako pierwszym parametrem, jeśli wystąpi błąd.

Przykład:

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