Node.js의 캐시 액세스

<ph type="x-smartling-placeholder"></ph> 현재 Apigee Edge 문서를 보고 있습니다.
Apigee X 문서.
정보

apigee-access 모듈을 사용하여 다음 위치에서 에지 분산 캐시에 액세스할 수 있습니다. 사용할 수 있습니다 이 모듈에는 캐시푸팅, 데이터 가져오기, 삭제가 있습니다.

Apigee Edge 분산 캐시를 사용하면 문자열이나 기타 데이터를 저장할 수 있습니다. 대부분의 캐시와 마찬가지로 가장 오래전에 사용된 캐시이며 최대 크기가 있습니다. Apigee Edge 내부에서 캐시가 배포됨 노드 간을 연결합니다 다음을 통해 캐시를 관리할 수 있습니다. Apigee Edge API입니다. 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 );

구성 객체에 지정된 커스텀 캐시 리소스에 액세스합니다. Kubernetes에서 캐시 리소스를 만들려면 환경 만들기 및 수정 참조 캐시에 저장합니다.

매개변수:

cacheName - 문자열이며 커스텀 캐시를 통해 저장할 수 있습니다 (캐시 리소스의 이름이 아님)

options - 구성 객체입니다. 이 객체는 비어 있거나 다음과 같은 선택적 매개변수를 포함할 수 있습니다.

  • resource: Apigee '캐시 리소스'의 이름 여기에서 캐시 데이터가 저장됩니다. 캐시 리소스는 메모리 할당 및 기타 캐시를 미세 조정하는 데 사용됩니다. 매개변수입니다. 지정하지 않으면 기본 리소스가 사용됩니다. 캐시 리소스가 존재하면 메서드에서 오류가 발생합니다.

  • scope: 캐시 항목의 프리픽스를 지정할지 여부를 지정합니다. 배웠습니다. 유효한 값은 global, application, exclusive입니다.

    • global: 모든 캐시 항목은 동일한 Apigee '환경'으로 라우팅됩니다

    • application: 모든 캐시 항목은 해당 객체에 속하는 모든 Node.js 캐시에 동일한 Apigee Edge 애플리케이션의 일부일 수 있습니다

    • exclusive: (기본값) 캐시 항목은 동일한 애플리케이션을 실행할 수 있습니다 이는 기본값입니다.

  • prefix: 캐시 키 이름에 채우기에 설명되어 있음 캐시 정책캐시 키 사용에 대한 자세한 내용은 다음을 사용합니다. 이 매개변수를 사용하여 지정할 수 있습니다. Edge는 자동으로 두 개의 밑줄 접미사를 접두어 이름을 입력합니다. 따라서 캐시 키가 'UserToken' 접두사로 생성된 경우 'UserToken__'은

  • defaultTtl: 캐시의 기본 TTL(수명)을 지정합니다. 입력될 수 있습니다. 지정하지 않으면 캐시 리소스의 기본 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>

put

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

데이터를 캐시에 넣습니다.

매개변수:

  • key: (필수) 고유하게 식별하는 문자열입니다. 캐시의 항목을 찾습니다. 캐시 키의 크기는 2KB로 제한됩니다.

  • 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 정책에서 캐시에 배치되는 캐시 항목의 경우 (예: Population Cache policy) 다음을 수행합니다. 정책을 만드는 특정 방법에서 추론하여 캐시 키를 구성해야 합니다. 키를 누릅니다. 이렇게 하려면 정책 구성 방법을 알아야 합니다. 동안 캐시 키 작업 정책에 따라 캐시 키가 생성되는 방식을 설명합니다. 범위와 관련된 문자열 값 Node.js에서의 호출에서 범위는 이미 있습니다.

  • callback (필수): 호출할 함수입니다. 데이터를 사용할 수 있을 때 캐시된 데이터가 있는 경우에는 두 번째 매개변수 값으로 사용됩니다.

    • error - 오류 객체입니다. 오류가 있는 경우 오류가 발생하면 오류 객체가 여기에 설정됩니다. 그렇지 않은 경우 매개변수가 'undefined'로 설정됩니다.

    • data - 검색된 데이터입니다(있는 경우). 그것은 다음 4가지 값 중 하나입니다.

      • 삽입된 문자열인 경우 문자열이 됩니다.
      • 버퍼를 삽입한 경우, 버퍼가 됩니다.
      • 객체가 삽입된 경우 객체는 JSON 버전의 객체를 지정합니다.
      • 아무것도 발견되지 않으면 '정의되지 않음'으로 표시됩니다.

예:

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 정책에서 캐시에 배치되는 캐시 항목의 경우 (예: Population Cache policy) 다음을 수행합니다. 정책을 만드는 특정 방법에서 추론하여 캐시 키를 구성해야 합니다. 키를 누릅니다. 이렇게 하려면 정책 구성 방법을 알아야 합니다. 동안 캐시 키 작업 정책에 따라 캐시 키가 생성되는 방식을 설명합니다. 범위와 관련된 문자열 값 Node.js에서의 호출에서 범위는 이미 있습니다.

  • callback (필수): 현재 상태를 나타내는 오류가 있는 경우 첫 번째 매개변수로 Error 객체를 사용하여 호출됩니다.

예:

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