LINQ 지원 NCache

실제 애플리케이션에서는 단순히 기본 키를 쿼리하는 대신 데이터를 필터링해야 하는 경우가 많습니다. LINQ를 사용하면 런타임에 사용하는 사용자 지정 논리를 기반으로 데이터베이스에서 데이터를 쉽게 검색할 수 있습니다. 그러므로, NCache LINQ 쿼리를 지원하므로 데이터베이스를 쿼리하는 것과 동일한 방식으로 분산 캐시를 쿼리할 수 있습니다.

LINQ는 데이터 소스에서 데이터를 검색하고 필터링할 수 있는 일반적인 .NET 쿼리 언어입니다. LINQ 구문은 SQL과 매우 유사하지만, 쿼리를 실행할 때 더 뛰어나고 최적화된 쿼리 방법을 제공합니다. NCache 서버. 코드 컴파일 중에 구문 검사를 수행하는 동시에 보다 효율적인 쿼리 표현식을 허용하는 기능을 제공합니다.

NCache LINQ 공급자를 통해 캐시 내 쿼리 정보에 LINQ를 완벽하게 통합합니다. 링크 공급자는 LINQ 개체 모델을 수정하지 않고도 애플리케이션 성능을 향상시키면서 분산 캐시에서 LINQ 쿼리 실행을 용이하게 합니다.

로컬에서 실행되는 표준 LINQ-to-Objects와는 달리, NCache LINQ는 서버 클러스터 전체에서 쿼리를 병렬로 실행합니다. 이러한 분산 실행을 통해 필터링이 데이터 소스에서 이루어지므로 클라이언트 애플리케이션의 메모리 사용량을 크게 줄일 수 있습니다.

 

어떤 LINQ 쿼리 표현식이 해당합니까? NCache 지원하다?

NCache 캐시 데이터를 검색하기 위한 LINQ 언어의 기본 쿼리 표현식을 지원합니다. 다음과 같습니다.

  • 람다 표현식: LINQ 방정식의 람다 표현식은 런타임에 논리를 변환하므로 데이터 소스를 편리하게 전달할 수 있습니다.
  • IQueryable<Product> products = new NCacheQuery<Product>(cache);
    IQueryable<Product> product = products.Select(p => p).Where(p => p. UnitsInStock > 10);
  • 쿼리 표현식: 쿼리 식은 LINQ 지원 분산 캐시 서버에서 데이터를 쿼리하고 변환합니다.
  • IQueryable<Product> products = new NCacheQuery<Product>(cache);
    IQueryable<Product> product = from prod in products
    	where prod.UnitsInStock > 10
    	select prod;
제품 특장점 람다 표현식(Fluent) 쿼리 표현식(선언적 방식)
구문 스타일 메서드 기반(연쇄 메서드) SQL과 유사한 키워드(, 어디에, 고르다)
편집 표현식 트리로 직접 컴파일됨(용) 쿼리 가능) 컴파일러에 의해 람다 메서드 호출로 변환된 다음 표현식 트리로 변환됩니다.
NCache 실행 파싱하여 NCache SQL을 통해 NCache질문 파싱하여 NCache SQL을 통해 NCache질문
최고의 사용 사례 동적 쿼리 생성/파이프라이닝에 더 적합합니다. 복잡한 조인이나 가독성이 좋은 "플랫" 쿼리에 더 적합합니다.
 

LINQ 연산자

LINQ 연산자는 프로젝션, 집계, 필터링 및 정렬과 같은 쿼리 기능을 제공하는 확장 메서드입니다. 이들 연산자 중, NCache 아래에 언급된 것을 지원합니다.

  • 투영 연산자: 변환 함수를 기반으로 값을 투영합니다. 다음 코드 조각은 선택 프로젝션 연산자를 사용하여 캐시 데이터를 검색하는 방법을 보여줍니다.
  • IQueryable<Product> product = products.Select(prod => prod);
  • 제한 연산자: 특정 조건을 만족하는 선택된 데이터로 결과 집합을 제한합니다. 이 코드 스니펫은 주문 단위가 10보다 큰 모든 제품의 캐시를 검색합니다.
  • IQueryable<Product> product = products.Select(prod => prod).Where(prod => prod.UnitsInStock > 10);
 

쿼리 연산자

NCache 다음과 같은 LINQ 쿼리를 사용하여 기본 쿼리 연산자를 지원합니다.

  • 같음(==)
  • 같지 않음(!=)
  • 보다 작음(<)
  • 보다 큼(>)
  • 보다 작음(<=)
  • 보다 큼 같음(>=)

인용하다 LINQ 쿼리 연산자 이러한 연산자의 사용을 위해.

 

논리 연산자

NCache LINQ에서는 두 개의 논리 연산자인 AND(&&) 및 OR(||) 연산자를 지원합니다. 이러한 연산자는 캐시 검색에 대한 두 개 이상의 제한 기준을 결합합니다. LINQ 가이드를 따르세요. 논리 연산자 사용법을 자세히 이해합니다.

 

집계 연산자

NCache 다음 집계 연산자를 지원합니다.

  • 카운트
  • Max
  • Min
  • 평균
  • 합계

다음은 집계 함수를 사용하여 캐시 데이터를 검색하고 결과를 계산하는 방법의 예입니다.

int count = products.Select(p => p).Where(prod => prod.UnitsInStock <= 50).Count();

집계 연산자의 사용법 이해 NCache 가이드에서 LINQ 집계 연산자.

 

와일드카드 연산자

NCache LINQ 식에서 여러 와일드카드를 지원합니다. 이러한 와일드카드 연산자는 다음과 같습니다.

  • 다음으로 시작
  • 로 끝나다
  • 포함
  • 같음

다음은 연산자가 캐시에서 특정 데이터 세트를 검색하는 제한 사항이 있는 와일드카드를 사용하는 예입니다.

IQueryable<Product> product = products.Select(p => p).Where(p => p.ProductName.StartsWith("Be"));

에 대한 설명서를 참조하십시오. LINQ 와일드카드 연산자 자세한 내용을 알고 있습니다.

 

LINQPad를 어떻게 사용하나요? NCache?

LINQPad는 쿼리 및 람다 식을 사용하여 SQL 데이터베이스를 대화형으로 쿼리하고 IDE 없이 C# 코드를 작성하는 데 사용되는 타사 도구입니다. NCache LINQPad 유틸리티와의 원활한 통합을 지원하여 데이터 분석 및 애플리케이션 성능을 향상시킵니다. LINQPad에서 쿼리를 처리하려면 NCache LINQ 공급자는 NCache.NET 프레임워크의 IQueryable 인터페이스를 구현한 Context 클래스입니다.

IQueryable<Product> product = new NCacheContext<Product>("ClusteredCache");
var result = from prod in product
	where prod.ProductID == 12
	select prod;

result.Dump();

LINQPad에서 이 스크립트를 실행하면 UnitsInStock이 50보다 큰 제품을 쿼리하는 LINQ 개체 제품이 생성됩니다.

LINQPad 5 실행 중 NCache분산 캐시에서 ProductID 12를 검색하는 컨텍스트 LINQ 쿼리입니다.
쿼리 NCache LINQPad를 사용한 클러스터형 캐시.

캐시에서 데이터를 쿼리하기 위해 LINQPad를 사용하는 방법에 대해 자세히 알아보려면 다음 설명서를 따르세요. LINQPad를 사용하여 캐시의 데이터 쿼리, 그리고 LINQPad를 구성하려면 NCache 에 제공된 단계를 따르십시오. LINQPad 구성 NCache.

다음에 무엇을할지?

자주 묻는 질문 (FAQ)

NCache LINQ 지원을 통해 표준 C# 구문을 사용하여 분산 캐시 데이터를 쿼리할 수 있으며, 서버 클러스터 전체에서 필터를 병렬로 실행하여 클라이언트 측 메모리 사용량과 데이터베이스 부하를 줄일 수 있습니다.

네! NCache 람다 표현식(유창한 구문)을 지원합니다. NCache질문 이 클래스는 효율적인 캐시 검색을 위해 런타임 로직 변환을 가능하게 합니다.

NCache LINQPad와의 원활한 통합을 제공합니다. NCache문맥 이 클래스는 개발자가 전체 IDE 없이도 C# 문을 사용하여 클러스터링된 캐시를 대화형으로 쿼리할 수 있도록 합니다.

NCache 표준 LINQ 집계 연산자를 지원합니다. 카운트, Max, Min, 평균예산 및 합계 캐시된 데이터 세트에 대한 서버 측 계산을 수행하기 위한 것입니다.

NCache LINQ 표현식에서 여러 와일드카드 연산자를 지원합니다. 특히, 다음으로 시작, 로 끝나다, 포함예산 및 같음 유연한 문자열 기반 필터링을 위해.

문의하기

전화

+1 214-619-2601 (미국)

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