• Facebook
  • 트위터
  • 유튜브
  • 라인드인
  • RSS
  • 기술 문서
  • 비교
  • 블로그
  • 다운로드
  • 문의하기
다운로드
목차 표시/숨기기

캐시의 데이터 구조에 대한 무효화 속성 구성

NCache 분산 데이터 구조에 대한 무효화 메커니즘을 제공하여 캐시에서의 수명 및 제거 동작을 제어합니다. 이러한 메커니즘은 다음을 통해 구성됩니다. DataTypeAttributes 데이터 구조 생성 시 지정되는 클래스이며, 지원되는 모든 분산 데이터 구조에 적용됩니다. 이러한 설정은 데이터 구조의 핵심 동작을 정의하므로 초기화 시에 지정해야 하며, 이후에는 변경할 수 없습니다.

데이터 구조는 다음을 사용하여 캐시에서 무효화할 수 있습니다.

  • 만료
  • 축출
  • 종속성

이러한 속성은 다음을 사용하여 데이터 구조를 생성하는 동안 지정됩니다. DataTypeAttributes 클래스로 지정되며, 데이터 구조가 캐시에 생성된 후에는 수정할 수 없습니다. 또한 이러한 무효화 속성은 모든 데이터 구조에 대해 지정할 수 있습니다.

주의 사항

주요 종속성도 구성할 수 있습니다. CacheItem 그리고 데이터 구조.

사전 조건

사용하기 전에 NCache 클라이언트 측 API를 사용할 때 다음 전제 조건을 충족하는지 확인하십시오.

  • . NET
  • 자바
  • Node.js를
  • .NET 클라이언트 애플리케이션에 다음 NuGet 패키지를 설치하세요.
    • 기업: Alachisoft.NCache.SDK
    • 오픈 소스: Alachisoft.NCache오픈소스 SDK
  • 애플리케이션에 다음 네임스페이스를 포함합니다.
    • Alachisoft.NCache.고객
    • Alachisoft.NCache.런타임.예외
    • Alachisoft.NCache.클라이언트.데이터 유형
    • Alachisoft.NCache.Client.DataTypes.Collections
    • Alachisoft.NCache.런타임.캐싱
    • Alachisoft.NCache.런타임.이벤트
    • Alachisoft.NCache.런타임.종속성
  • 캐시가 실행 중이어야 합니다.
  • 추가되는 데이터가 직렬화 가능.
  • API 세부 정보는 다음을 참조하세요. 아이캐시, 데이터 유형 속성, 캐시항목우선순위, 만료, 만료 유형, 키 종속성, IDistributedHashSet, IDataTypeManager, CreateHashSet, 데이터 유형 관리자.
  • Java 클라이언트 애플리케이션에 대해 다음 Maven 종속성을 추가합니다. pom.xml 파일 :
<dependency>
    <groupId>com.alachisoft.ncache</groupId>
    <!--for NCache Enterprise-->
    <artifactId>ncache-client</artifactId>
    <version>x.x.x</version>
</dependency>
  • Java 클라이언트 애플리케이션에서 다음 패키지를 가져옵니다.
    • import **클라이언트 이름**
    • import com.alachisoft.ncache.런타임.예외.*;
    • import com.alachisoft.ncache.client.데이터 구조.*;
    • import com.alachisoft.ncache.runtime.dependencies.*;
    • import 영어: com.alachisoft.ncache.runtime.caching.*;
  • 캐시가 실행 중이어야 합니다.
  • 추가되는 데이터가 직렬화 가능.
  • API 세부 정보는 다음을 참조하세요. 캐시, DataStructure속성, 캐시항목우선순위, 우선 순위 설정, 만료 유형, 만료 설정, setDependency, 키 종속성, getDataStructuresManager, createHashSet, 만료, 쓰기 옵션, 분산해시세트.
  • Node.js 클라이언트 애플리케이션에 다음 모듈을 설치하고 포함시키세요.

    • 기업: ncache-클라이언트
  • 애플리케이션에 다음 클래스를 포함합니다.

    • 캐시
    • 데이터 구조 관리자
    • 키 종속성
    • 만료
  • 캐시가 실행 중이어야 합니다.
  • 추가되는 데이터가 직렬화 가능.
  • API 세부 정보는 다음을 참조하세요. 캐시, DataStructure속성, 캐시항목우선순위, 우선 순위 설정, 만료, 만료 유형, 만료 설정, 키 종속성, setDependency, getDataStructuresManager, 목록 작성.

데이터 구조에 무효화 속성 사용

다음 예제는 분산 데이터 구조에 대한 무효화 속성을 보여줍니다. 주문 ID 집합.NET 및 Java 예제는 HashSet을 사용하는 반면 Node.js 예제는 List를 사용합니다.

  • . NET
  • 자바
  • Node.js를
try
{
  // Precondition: Cache is already connected

  // Product exists in cache with key "Product:1001"
  string productKey = "Product:1001";

  // Specify attributes for HashSet
  var attributes = new DataTypeAttributes();

  // Specify priority for eviction
  attributes.Priority = CacheItemPriority.High;

  // Specify Absolute expiration of 15 minutes
  var expiration = new Expiration(ExpirationType.Absolute, TimeSpan.FromMinutes(15));
  attributes.Expiration = expiration;

  // Specify key dependency on productKey
  var keyDependency = new KeyDependency(productKey);
  attributes.Dependency = keyDependency;

  // Create HashSet which is dependent on product:1001
  // Specify unique cache key for set
  string orderKey = "OrderIDSet";
  IDistributedHashSet<int> orderIDSet = cache.DataTypeManager.CreateHashSet<int>(orderKey, attributes);

  // Check if the orderIDSet exists in cache:
  // After 15 minutes or
  // If product is modified in cache
}
catch (OperationFailedException ex)
{
    // NCache specific exception
    if(ex.ErrorCode == NCacheErrorCodes.KEY_ALREADY_EXISTS)
    {
        // An item with the same key already exists
    }
    else if (ex.ErrorCode == NCacheErrorCodes.CACHEITEM_IN_DATA_STRUCTURES)
    {
        // Data structures cannot be of CacheItem type
        // CacheItems cannot be added in data structures
    }
    else
    {
        // NCache specific exception
        // Exception can occur due to:
        // Connection Failures
        // Operation Timeout
        // Operation performed during state transfer
    }
}
catch (Exception ex)
{
    // Any generic exception like ArgumentNullException or ArgumentException
}
try
{
  // Precondition: Cache is already connected

  // Product exists in cache with key "Product:1001"
  String productKey = "Product:1001";

  // Specify attributes for HashSet
  var attributes = new DataStructureAttributes();

  // Specify priority for eviction
  attributes.setPriority(CacheItemPriority.High);

  // Specify Absolute expiration of 15 minutes
  var expiration = new Expiration(ExpirationType.Absolute, TimeSpan.FromMinutes(15));
  attributes.setExpiration(expiration);

  // Specify key dependency on productKey
  var keyDependency = new KeyDependency(productKey);
  attributes.setDependency(keyDependency);

  // Create HashSet which is dependent on product:1001
  // Specify unique cache key for set
  String orderKey = "OrderIDSet";
  WriteThruOptions writeThruOptions = null;

  // Create HashSet
  DistributedHashSet orderIDSet = InitializeCache.cache.getDataStructuresManager().createHashSet(orderKey, attributes, writeThruOptions, Integer.class);

  // Check if the orderIDSet exists in cache:
  // After 15 minutes or
  // If product is modified in cache
}
catch (OperationFailedException ex) 
{
    // NCache specific exception
    if (ex.getErrorCode() == NCacheErrorCodes.KEY_ALREADY_EXISTS) {
        // An item with the same key already exists
    } else if (ex.getErrorCode() == NCacheErrorCodes.CACHEITEM_IN_DATA_STRUCTURES) {
        // Data structures cannot be of CacheItem type
        // CacheItems cannot be added in data structures
    } else {
        // NCache specific exception
        // Exception can occur due to:
        // Connection Failures
        // Operation Timeout
        // Operation performed during state transfer
    }
} 
catch (Exception ex) 
{
    // Any generic exception like IllegalArgumentException or NullPointerException
}
try
{
  // Precondition: Cache is already connected
  // This is an async method

  // Product exists in cache with key "Product:1001"
  var productKey = "Product:1001";

  // Specify attributes for list
  var attributes = new ncache.DataStructureAttributes();

  // Specify priority for eviction
  attributes.setPriority(ncache.CacheItemPriority.High);

  // Specify Absolute expiration of 15 minutes
  var expiration = new ncache.Expiration(
  ncache.ExpirationType.Absolute,
  ncache.TimeSpan.fromMinutes(15)
  );
  attributes.setExpiration(expiration);

  // Specify key dependency on productKey
  var keyDependency = new ncache.KeyDependency(productKey);
  attributes.setDependency(keyDependency);

  // Create list which is dependent on product:1001
  // Specify unique cache key for list
  var orderKey = "OrderIDSet";
  var orderIDList = await (
  await this.cache.getDataStructuresManager()
  ).createList(orderKey, Number(), attributes, null);

  // Check if the orderIDSet exists in cache:
  // After 15 minutes or
  // If product is modified in cache
}
catch (error) {
  // Handle errors
}
주의 사항

작업이 안전하도록 하려면 에 설명된 대로 응용 프로그램 내에서 잠재적인 예외를 처리하는 것이 좋습니다. 처리 실패.

추가 자료

NCache 데이터 구조로 무효화 속성을 구성하기 위한 샘플 애플리케이션 제공 GitHub의.

도 참조

.그물: Alachisoft.NCache.클라이언트.데이터 유형 네임 스페이스.
자바 : com.alachisoft.ncache.client.데이터 구조 네임 스페이스.
Node.js : 데이터 구조 관리자 클래스입니다.

문의하기

전화

+1 214-619-2601   (미국)

+44 20 7993 8327   (UK)

 
이메일

sales@alachisoft.com

support@alachisoft.com

NCache
  • 판 비교
  • NCache 아키텍처
  • 벤치 마크
다운로드
가격
놀이터를 사용해보십시오

배포
  • 클라우드(SaaS 및 소프트웨어)
  • 온 프레미스
  • Kubernetes
  • 도커
기술 사용 사례
  • ASP.NET 세션
  • ASP.NET 코어 세션
  • 게시/구독 메시징
  • 실시간 ASP.NET SignalR
  • 사물의 인터넷 IOT ()
  • NoSQL 데이터베이스
  • 스트림 처리
  • 마이크로 서비스
리소스
  • 잡지 기사
  • 제XNUMX자 기사
  • 기사
  • 비디오
  • 백서
  • 쇼
  • 회담
  • 블로그
  • 기술 문서
고객 사례 연구
  • 환자 후기
  • 고객
고객 지원
  • 데모 예약
  • 포럼(Google 그룹스)
  • Tips
회사
  • Leadership
  • 파트너
  • ​뉴스
  • 이벤트
  • 채용 정보
문의하기

  • 영어중국어 (간체)프랑스어독일 사람이탈리아 사람일본제한국어포르투갈어스페인어

  • 문의하기
  •  
  • 사이트 맵
  •  
  • 이용 약관
  •  
  • 개인정보 처리방침
© 저작권 Alachisoft 2002 - . 판권 소유. NCache 는 Diyatech Corp.의 등록상표입니다.
맨 위로