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

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja Apigee X.
informacje.

Za pomocą modułu apigee-access możesz uzyskać dostęp do rozproszonej pamięci podręcznej Edge z w aplikacji Node.js. Moduł zawiera metody uzyskania informacji buforowanie oraz umieszczanie, pobieranie i usuwanie danych.

Rozproszona pamięć podręczna Apigee Edge umożliwia przechowywanie ciągów znaków i innych danych. Podobnie jak w przypadku większości pamięci podręcznych, to najmniej ostatnio używana pamięć podręczna o maksymalnym rozmiarze. W Apigee Edge pamięć podręczna jest rozproszona wśród wszystkich węzłów, w których działa aplikacja Node.js. Pamięcią podręczną możesz zarządzać za pomocą Interfejs Apigee Edge API Za pomocą interfejsu API możesz ręcznie tworzyć zasoby pamięci podręcznej lub użyć interfejsu API zasób domyślny. Wprowadzenie do buforowania w Apigee Edge znajdziesz w artykule o narzędziach trwałości w Edge. Aby dowiedzieć się więcej, na temat rozproszonej pamięci podręcznej, zobacz Przykład: Ogólne informacje o pamięci podręcznej buforowanie.

Wprowadzenie do modułu apigee-access i innych funkcji znajdziesz w tych artykułach: 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. Powstała w ten sposób pamięć podręczna korzysta ze wstępnie zdefiniowanego zbioru parametrów konfiguracji odpowiednich do większości sytuacji.

Parametry:

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

Zwroty:

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

Dostęp do zasobu niestandardowego pamięci podręcznej określonego w obiekcie konfiguracji. Informacje na temat tego, jak dotyczące tworzenia zasobu pamięci podręcznej można znaleźć w sekcji Tworzenie i edytowanie środowiska Cache.

Parametry:

cacheName – ciąg znaków, nazwa niestandardową pamięć podręczną. (nie jest to nazwa zasobu pamięci podręcznej).

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

  • resource: nazwa „zasobu pamięci podręcznej” Apigee gdzie dane w pamięci podręcznej. Zasoby pamięci podręcznej są używane do dostrajania alokacji pamięci i innej pamięci podręcznej . Jeśli go nie podasz, używany będzie zasób domyślny. Jeśli zasób pamięci podręcznej nie , metoda zwróci błąd.

  • scope: określa, czy wpisy w pamięci podręcznej mają prefiks zapobiega 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 to samo „środowisko” Apigee.

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

    • exclusive: (wartość domyślna) wpisy pamięci podręcznej są widoczne tylko dla pamięci podręcznych Node.js w o tej samej nazwie. Jest to ustawienie domyślne.

  • prefix: jeśli nazwa klucza pamięci podręcznej zawiera prefiks opisane w sekcji Wypełnij W zasadach dotyczących pamięci podręcznej i pracy z kluczami pamięci podręcznej użyj ten parametr, aby go określić. Edge automatycznie dodaje sufiks z podwójnym podkreśleniem do nazwa prefiksu. Jeśli więc został utworzony klucz pamięci podręcznej z prefiksem „UserToken”, prefiks określający oto „UserToken__”.

  • defaultTtl: określa domyślny czas życia danych w pamięci podręcznej. w sekundach. Jeśli nie określono tej wartości, domyślna wartość TTL w zasobie pamięci podręcznej będzie wynosić .

  • timeout – czas oczekiwania na pobranie wyniku z metody rozproszona pamięć podręczna w sekundach. Wartość domyślna to 30 sekund. Aplikacje wrażliwe na czas oczekiwania mogą w celu uniknięcia powolnego czasu odpowiedzi w przypadku, gdy infrastruktura pamięci podręcznej przeciążona.

Zwroty:

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 ze skonfigurowaną zasadą lookupCache w następujący 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>

put

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

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

Parametry:

  • key: (wymagany): ciąg, który jednoznacznie identyfikuje elementu w pamięci podręcznej. Rozmiar kluczy pamięci podręcznej nie może przekraczać 2 KB.

  • data: (wymagany) ciąg, bufor lub obiekt, który reprezentuje dane do pamięci podręcznej. Każdy inny typ danych spowoduje błąd. Dla wygody zostaną przekonwertowane na ciąg znaków za pomocą „JSON.stringify”.

  • ttl: (opcjonalnie) maksymalny czas utrzymywania wartości parametru w pamięci podręcznej w kilka sekund. Jeśli nie podasz żadnej wartości, zostanie użyta domyślna wartość TTL.

  • callback: (opcjonalny) jeśli jest określona, funkcja, która zostanie wywołana, gdy dane będą bezpiecznie przechowywane w pamięci podręcznej. Zostanie wywołana z obiektem błędu jako pierwszy parametr w przypadku wystąpienia błędu wstawiania. W przeciwnym razie wywoływany jest kodem brak 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
});

pobierz

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

Pobieranie danych z pamięci podręcznej.

Parametry:

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

    W przypadku wpisów pamięci podręcznej umieszczonych w pamięci podręcznej z zasady Apigee Edge (np. Wypełnij zasadę pamięci podręcznej) musisz będzie musiał utworzyć klucz pamięci podręcznej, uzgadniając na podstawie konkretnego sposobu, w jaki zasada tworzy kluczy wpisów. Aby to zrobić, musisz znać sposób konfiguracji tej zasady. Choć Praca z kluczami pamięci podręcznej opisuje sposób tworzenia kluczy pamięci podręcznej przez zasady. Pamiętaj, że nie należy wartości ciągu znaków powiązane z zakresem; w wywołaniach Node.js, zakres jest już częścią i dodaje kontekst.

  • callback (wymagany): funkcja, która zostanie wywołana gdy dane są dostępne. Jeśli dane znajdują się w pamięci podręcznej, są zwracane w drugiej wartości .

    • error – obiekt błędu. Jeśli wystąpi błąd podczas pobierania z pamięci podręcznej, zostanie w tym miejscu ustawiony obiekt Error. W przeciwnym razie zostanie ustawiony na „undefined”.

    • data – pobrane dane (jeśli istnieją). Będzie jedną z czterech 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 obiekt został wstawiony, będzie to ciąg znaków zawierający wersję JSON funkcji obiekt utworzony przez „JSON.stringify”.
      • Jeśli niczego nie znaleziono, wartość będzie „niezdefiniowana”.

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. Po unieważnieniu klucza kolejne żądania get() będą zwracane "niezdefiniowane" o ile nie zostanie wstawiona inna wartość.

Parametry:

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

    W przypadku wpisów pamięci podręcznej umieszczonych w pamięci podręcznej z zasady Apigee Edge (np. Wypełnij zasadę pamięci podręcznej) musisz będzie musiał utworzyć klucz pamięci podręcznej, uzgadniając na podstawie konkretnego sposobu, w jaki zasada tworzy kluczy wpisów. Aby to zrobić, musisz znać sposób konfiguracji tej zasady. Choć Praca z kluczami pamięci podręcznej opisuje sposób tworzenia kluczy pamięci podręcznej przez zasady. Pamiętaj, że nie należy wartości ciągu znaków powiązane z zakresem; w wywołaniach Node.js, zakres jest już częścią i dodaje kontekst.

  • callback (wymagany): funkcja wywołania zwrotnego, która powinna zostać wywołana z obiektem Error jako pierwszym parametrem w przypadku wystąpienia błędu.

Przykład:

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