NCache 분산 캐싱 기능

관계 관리를 위한 캐시 종속성

NCache 데이터 요소 간의 일대일, 일대다 및 다대다 관계로 관계형 데이터를 관리할 수 있는 캐시 종속성 기능이 있습니다. 캐시 종속성을 사용하면 분산 캐시에서 데이터 무결성을 유지할 수 있습니다.

캐시 종속성을 사용하면 하나의 캐시된 항목이 다른 캐시된 항목에 종속되도록 지정할 수 있습니다. 그런 다음 두 번째 캐시된 항목이 응용 프로그램에 의해 업데이트되거나 제거되면 이에 종속되어 있던 첫 번째 항목은 캐시에서 자동으로 제거됩니다. NCache. 캐시 종속성을 사용하면 다중 수준 종속성도 지정할 수 있습니다.

더 자세히 알아보세요. 캐시 종속성.

캐시 종속성

데이터베이스 동기화

NCache 캐시를 데이터베이스와 자동으로 동기화하는 기능을 제공합니다. 이렇게 하면 캐시의 데이터가 항상 최신 상태이고 데이터 무결성 문제가 발생하지 않습니다. 데이터베이스 서버에서 발행한 이벤트 알림을 기반으로 하거나 폴링을 통해 데이터베이스 동기화를 구성할 수 있습니다.

이벤트 기반 동기화는 즉각적이고 실시간이지만 데이터베이스의 데이터를 매우 자주 업데이트하는 경우 꽤 수다스러울 수 있습니다.

폴링은 한 번에 가져오기 때문에 실제로 훨씬 더 효율적입니다. NCache 수백, 심지어 수천 개의 행을 동기화할 수 있습니다. 그러나 폴링은 즉각적이지 않으며 일반적으로 몇 초의 지연이 있습니다. 그러나 폴링 간격은 구성 가능합니다.

더 자세히 알아보세요. 데이터베이스 동기화.

데이터베이스 동기화

병렬 SQL 유사 쿼리, LINQ 및 태그

NCache 키에만 의존하는 대신 분산 캐시에서 개체를 검색할 수 있는 여러 가지 방법을 제공합니다. 여기에는 병렬 SQL 유사 쿼리 언어, 태그 및 그룹/하위 그룹이 포함됩니다.

병렬 SQL과 같은 쿼리 언어를 사용하면 키가 아닌 개체 속성을 기반으로 캐시를 검색할 수 있습니다. 그리고 이 쿼리는 모든 캐시 서버에 분산되어 병렬로 실행되고 결과가 통합되어 반환됩니다. 이를 통해 "고객의 도시가 San Francisco인 모든 고객 개체 찾기"와 같은 쿼리를 실행할 수 있습니다. .NET 애플리케이션에서 LINQ를 사용하여 람다 식을 포함한 분산 캐시를 검색할 수도 있습니다.

  public class Program
  {
      public static void Main(string[] args)
      {
          NCache.InitializeCache("myReplicatedCache");
          String query = "SELECT NCacheQuerySample.Business.Product WHERE this.ProductID > 100";
          // Fetch the keys matching this search criteria
          ICollection keys = NCache.Cache.Search(query);
          if (keys.Count > 0)
          {
              IEnumerator ie = keys.GetEnumerator();
              while (ie.MoveNext())
              {
                  String key = (String)ie.Current;
                  Product prod = (Product)NCache.Cache.Get(key);

                  HandleProduct(prod);
                  Console.WriteLine("ProductID: {0}", prod.ProductID);
              }
          }
          NCache.Cache.Dispose();
      }
  } 

태그 및 그룹/하위 그룹

태그 및 그룹/하위 그룹은 캐시된 항목을 그룹화하는 다양한 방법을 제공합니다. 태그는 하나의 태그가 여러 개의 캐시된 항목을 포함할 수 있고 하나의 캐시된 항목이 여러 태그에 속할 수 있는 다대다 그룹화를 제공합니다. 그룹/하위 그룹은 캐시된 항목을 그룹화하는 계층적 방법입니다. SQL과 유사한 쿼리 언어 내에서도 태그를 검색할 수 있습니다.

더 자세히 알아보세요. 분산 캐시를 쿼리하는 다양한 방법.

Read-Through, Write-Through 및 자동 새로 고침

일부 데이터 액세스 코드를 분산 캐시 클러스터에 푸시하여 애플리케이션을 단순화하고 확장하십시오. NCache 캐시가 데이터 원본 및 데이터베이스에서 직접 데이터를 읽고 쓸 수 있도록 하는 Read-through 및 Write-through 메커니즘을 제공합니다.

당신은 구현 IReadThruProvider IWriteThruProvider 캐시 클러스터에 코드를 등록합니다. 귀하의 코드는 모든 캐시 서버에 복사되고 호출됩니다. NCache 데이터 원본 및 데이터베이스에 액세스해야 합니다.

Read-through를 만료 및 데이터베이스 동기화와 결합하여 활성화할 수 있습니다. NCache 자동 새로 고침을 수행하고 필요할 때 데이터의 새로운 복사본을 자동으로 다시 로드합니다.

만나다 읽기 및 쓰기 자세한 내용은.

메시징을 통한 런타임 데이터 공유

NCache 매우 빠르고 확장 가능한 실시간 강력한 런타임 데이터 공유 및 메시징 플랫폼을 제공합니다.

NCache 이벤트 알림을 통해 실시간 데이터 공유가 가능합니다. 애플리케이션이 서로 협업하는 데 사용할 수 있는 세 가지 유형의 이벤트가 있습니다.

첫 번째는 응용 프로그램이 특정 캐시 항목에 대한 관심을 등록하고 업데이트 또는 제거될 때마다 알림을 받는 캐시 항목 기반입니다.

두 번째는 애플리케이션에서 사용할 수 있는 애플리케이션 생성 이벤트입니다. NCache 이벤트 전파 플랫폼으로 사용하고 맞춤 이벤트를 NCache 클러스터. NCache 그런 다음 이러한 사용자 지정 이벤트에 관심을 보인 다른 클라이언트 응용 프로그램에 이러한 이벤트를 라우팅합니다.

마지막으로, NCache 추가, 업데이트 또는 제거될 때마다 별도로 알림을 받을 수 있습니다.

더 자세히 알아보세요. 런타임 데이터 공유.

컴팩트 직렬화

NCache 사용하기 위해 코드를 변경할 필요가 없는 Compact Serialization이라는 매우 빠른 객체 직렬화 메커니즘을 제공합니다.

이 직렬화는 런타임 시 리플렉션을 사용하지 않기 때문에 더 빠릅니다. 그리고 직렬화된 객체는 문자열 기반의 긴 유형 이름을 저장하는 대신 NCache 모든 유형을 등록하고 유형 ID만 저장합니다.

그리고 무엇보다도 사용자 측에서 코드를 변경할 필요가 없습니다. NCache 런타임에 직렬화 코드를 한 번 생성하고 반복해서 사용합니다. 결과적으로 애플리케이션 성능이 눈에 띄게 향상됩니다.

다음에 무엇을할지?

© 저작권 Alachisoft 2002 - . 판권 소유. NCache 는 Diyatech Corp.의 등록상표입니다.