Entity Framework는 기본 관계형 데이터베이스에서 추상화를 제공하므로 개발을 크게 단순화하는 개체 관계형 매핑 엔진입니다. 이러한 이점 때문에 Entity Framework를 사용하여 점점 더 많은 데이터 중심적이고 높은 트랜잭션 응용 프로그램 및 서비스가 개발됩니다.
그러나 이러한 트래픽이 많은 애플리케이션은 확장성 문제에 직면해 있습니다. 응용 프로그램 계층 수준은 확장 가능하지만 데이터베이스 또는 데이터 저장소는 증가하는 트랜잭션 수를 따라잡을 수 없습니다.
이것은 어디 분산 캐시 데이터를 캐시하고 확장성 병목 현상을 유발하는 값비싼 데이터베이스 이동을 줄일 수 있기 때문입니다. 그러나 Entity Framework는 응용 프로그램에서 분산 캐시를 사용할 수 있는 즉시 사용 가능한 솔루션을 제공하지 않습니다. 그러나 분산 캐시를 Entity Framework 응용 프로그램에 통합할 수 있는 두 가지 방법이 있습니다. 하나는 Entity Framework 애플리케이션 코드를 수정하고 분산 캐시에 직접 API를 호출하는 것입니다. 두 번째는 배후에서 캐싱을 통합하는 사용자 지정 ADO.NET 공급자를 구현한 분산 캐시를 사용하는 것입니다.
Entity Framework는 ADO.NET용 공개 공급자 모델 제공 3에 대한 공급자를 작성할 수 있는 곳rd 파티 데이터베이스. NCache 구현했습니다 사용자 지정 Entity Framework ADO.NET 공급자 자체적으로 분산 캐시 호출을 수행할 수 있습니다. NCache API. 이 사용자 지정 Entity Framework ADO.NET 공급자는 모든 데이터베이스 쿼리 호출을 가로채고 이러한 쿼리의 결과 집합을 분산 캐시에 넣습니다. 그 다음에, NCache 사용자 지정 Entity Framework 공급자는 모든 후속 쿼리 호출을 가로채고 값비싼 데이터베이스 여행을 하는 대신 분산 캐시에서 결과를 반환합니다. 쿼리에 대한 결과 집합이 분산 캐시에 없으면 데이터베이스에 대해 쿼리가 실행되고 그 결과 집합이 분산 캐시에 저장됩니다.
그리고 NCache 또한 사용자 지정 Entity Framework 공급자는 분산 캐시의 데이터가 항상 일관성 있고 데이터베이스와 동기화되도록 해야 합니다. 그리고, 그것을 위해 NCache 사용 SqlCacheDependency .NET에서 제공됩니다. SqlCacheDependeny는 SQL 쿼리를 SQL Server에 등록하므로 이 쿼리가 나타내는 데이터 세트의 행이 데이터베이스에서 변경되면 SQL Server는 .NET 이벤트 알림을 던집니다. NCache. NCache 이 .NET 이벤트를 포착하고 분산 캐시에서 해당 결과 집합을 제거합니다.
그림 1은 방법을 보여줍니다 NCache Entity Framework Provider는 Entity Framework 애플리케이션에 연결됩니다.
그림 1 NCache 사용 중인 Entity Framework 공급자
당신은 통합 할 수 있습니다 NCache 간단한 XNUMX단계로 애플리케이션에서 사용자 지정 Entity Framework ADO.NET 공급자:
- 기본 제공자 교체: 애플리케이션 기본 제공자를 다음으로 교체하십시오. NCache app.config/web.config 및 .edmx 파일의 엔티티 프레임워크 제공자.
- 회원가입 NCache 공급자: 에 신청서를 등록하십시오. NCache Entity Framework 구성(efcaching.conf). efcaching.config에서 Entity Framework 애플리케이션에 대한 로그 수준 및 만료 정책 등을 쉽게 지정할 수 있습니다.
- 분석 모드에서 앱 실행: 분석 모드에서 애플리케이션을 실행합니다. 분석 모드에서, NCache Entity Framework 공급자는 빈도와 함께 응용 프로그램에서 실행한 Entity Framework 쿼리를 기록합니다. 로그를 기반으로 캐시하려는 Entity Framework 쿼리를 자세히 조사할 수 있습니다.
- 앱을 정상적으로 실행: 캐싱 모드로 전환하고 애플리케이션을 실행합니다.
따라서 사용하여 NCache Entity Framework 캐싱 공급자를 사용하면 Entity Framework 애플리케이션 코드를 변경하지 않고도 선형 확장성을 쉽게 달성할 수 있습니다.
따라서 완전히 작동하는 60일 평가판을 다운로드하십시오. NCache Enterprise 그리고 직접 사용해 보세요.
예, SQL, Oracle, MySQL, PostreSQL 등과 같은 모든 Entity Framework 커넥터 드라이버와 함께 작동합니다. NCache 캐싱 공급자는 ADO.NET 엔터티 프레임워크 공급자와 원래 데이터 공급자 사이에서 작동하여 쿼리 응답을 캐시합니다.
이것은 SQL 서버 또는 모든 ENTITY Framework 커넥터 드라이버에서만 작동합니까?