분산 캐싱은 애플리케이션의 성능과 확장성을 향상시키기 때문에 트랜잭션이 많은 애플리케이션 개발자들 사이에서 인기를 얻고 있습니다. 그리고 이러한 인기는 개발자들이 관계형 데이터베이스를 검색할 수 있는 것처럼 검색할 수 있기를 원하는 점점 더 많은 데이터를 캐싱하고 있음을 의미합니다.
그러나 많은 분산 캐시의 한 가지 주요 제한 사항은 (키, 값) Hashtable 인터페이스만 제공한다는 것입니다. 즉, 캐시된 항목을 가져오려면 해당 키를 알아야 합니다. 그러나 실생활에서 이것이 항상 가능한 것은 아니며 많은 경우에 다른 검색 기준을 기반으로 데이터를 검색해야 합니다(예: "뉴욕의 모든 고객 제공"). 따라서 분산 캐시를 검색할 수 없는 경우 항상 키를 알고 있는 데이터만 캐시할 수 있습니다. 또한 이렇게 하면 응용 프로그램의 성능과 확장성을 실제로 높일 수 있는 많은 데이터를 캐싱하는 것을 방지할 수 있습니다.
다행히, NCache 당신에게 매우 강력한 제공 SQL과 유사한 쿼리 기능 (Object Query Language 또는 OQL이라고 함) 키뿐만 아니라 개체 속성을 기반으로 캐시를 검색할 수 있습니다. 그리고 .NET 애플리케이션의 경우 NCache LINQ 통합을 제공하고 LINQ를 통해 캐시를 검색할 수 있습니다.
LINQ는 .NET Framework 언어 통합 쿼리, 설정 및 변환 작업을 포함합니다. 또한 객체 세계와 데이터 세계를 연결하고 검색을 매우 쉽고 관리하기 쉽게 만듭니다. 또한 LINQ를 사용하면 자체 데이터 저장소를 여기에 통합할 수 있습니다.
NCache LINQ 플러그인을 제공합니다. 따라서 이제 .NET 응용 프로그램에서 LINQ 쿼리를 실행하고 이 쿼리가 실행되는 배후에서 NCache 분산 캐시 및 결과 집합이 애플리케이션에 반환됩니다. NCache "라는 클래스를 구현하여 LINQ와 통합됩니다.NCacheQuery"에서 제공하는 "IQueryable"이라는 인터페이스를 추가로 구현합니다. .NET framework. 이 통합을 통해 캐시된 항목에 대해 LINQ 쿼리를 실행할 수 있습니다.
다음은 LINQ 쿼리의 소스 코드 예제입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
namespace NCacheLINQ { class Program { static void Main (string[] args) { IQueryable products = new NCacheQuery (_cache); try { var result1 = from product in products where product.ProductID > 10 select product; if (result1 != null) { foreach (Product p in result1) { Console.WriteLine ("ProductID : " + p.ProductID); } } else { Console.WriteLine ("No record found."); } } catch (Exception) { Console.WriteLine (_error); } } } } |
요약하면, LINQ 및 NCache 제공 링크 통합 코드를 변경할 필요가 없도록 애플리케이션에 새 어셈블리 참조와 네임스페이스를 추가하기만 하면 됩니다.
따라서 완전히 작동하는 60일 평가판을 다운로드하십시오. NCache Enterprise 그리고 직접 사용해 보세요.