Entity Framework는 Microsoft에서 널리 사용되는 .NET용 개체 관계형 매핑 프레임워크입니다. 이를 통해 도메인 개체를 통해 관계형 데이터로 작업할 수 있습니다. 또한 작성해야 하는 대부분의 데이터베이스 지속성 코드가 필요하지 않습니다.
Entity Framework의 인기로 인해 성능과 확장성이 중요한 트랜잭션이 많은 응용 프로그램에서 자주 사용되었습니다. 그러나 트랜잭션이 많은 경우 대부분 데이터베이스에 병목 현상이 발생합니다. 확장이 필요할 때 더 많은 애플리케이션 서버를 추가할 수 있는 애플리케이션 계층과 달리 데이터베이스 계층에서는 동일한 작업을 수행할 수 없기 때문입니다.
이러한 확장성을 달성하는 유일한 방법은 다음과 같은 분산 캐시를 사용하는 것입니다. NCache. NCache .NET 애플리케이션을 위한 매우 빠르고 확장 가능한 분산 캐시입니다. 이를 통해 애플리케이션 데이터를 캐시하고, 비용이 많이 드는 데이터베이스 이동을 줄이고, 애플리케이션 성능과 확장성을 향상시킬 수 있습니다.
Entity Framework는 두 번째 수준(2nd Level) 캐시 공급자 모델을 제공하지 않지만, NCache Entity Framework용 사용자 지정 ADO.NET 공급자를 구현했습니다. NCache Entity Framework 쿼리 결과를 플러그인하고 캐시할 수 있습니다. 이를 통해 코드를 변경하지 않고도 Entity Framework 애플리케이션에서 분산 캐시 사용을 시작할 수 있습니다.
문서보기Entity Framework 응용 프로그램이 다중 서버 환경에서 실행 중인 경우 Entity Framework Second Level Cache로 분산 캐시가 필요합니다. 그리고, NCache 다중 서버 구성을 위한 이상적인 Entity Framework Second Level Cache이며 다음과 같은 이유로 사용해야 합니다.
사용에 관한 가장 좋은 점 NCache Entity Framework를 사용하면 프로그래밍이 필요하지 않습니다. 애플리케이션의 구성 파일을 수정하고 다음을 지정하기만 하면 됩니다. NCache 두 번째 수준 캐시 공급자로. 다음은 app.config 변경 사항의 예입니다.
<interceptors>
<interceptor type="Alachisoft.NCache.Integrations.EntityFramework.Caching.EFCommandInterceptor,
Alachisoft.Integrations.EntityFramework.CachingProvider" />
</interceptors>
이후 NCache Entity Framework 두 번째 수준 캐시 공급자는 사용자 지정 ADO.NET 공급자로 연결되어 응용 프로그램이 Entity Framework에 발행하는 모든 다른 쿼리를 기록하는 분석 모드에서 실행할 수 있습니다. 이러한 쿼리는 이 분석 모드 동안 이 쿼리가 호출된 횟수와 함께 파일에 기록됩니다. 아래는 예입니다.
<analysis-report>
<!--Call-count = 21-->
<query query-text="" ["SELECT FROM Products"] |
[stored-procedure-name = ""]
caching = "true"
expiration-type="absolute" |
sliding = ""
expiration-time="180"
dbsyncdependency = "true"/>
</analysis-report>
이렇게 하면 캐시할 쿼리와 기간을 결정할 수 있습니다. 일부 또는 모든 쿼리에 대해 데이터베이스 동기화를 지정할 수도 있습니다.
연결하여 NCache app.config 변경을 통해 Entity Framework 두 번째 수준 캐시 공급자를 사용하면 응용 프로그램에 대한 엔터프라이즈 수준 분산 캐시를 얻을 수 있습니다. 다음은 몇 가지 기능입니다. NCache Entity Framework 앱을 제공합니다.
비록, 사용 NCache Entity Framework 두 번째 수준 캐시는 매우 빠르고 쉬우므로 제한된 캐시 세트만 제공합니다. NCache 특징. 그 이유는 다음과 같습니다. NCache 이는 사용자 지정 ADO.NET 공급자로 연결되어 있으며 SQL 쿼리 수준에서 처리해야 한다는 사실에 묶여 있습니다. 수많은 NCache 사용하기로 결정한 경우 사용할 수 없는 기능 NCache Entity Framework 두 번째 수준 캐시 공급자.
당신을위한 대안은 사용하는 것입니다 NCache Entity Framework 애플리케이션 내에서 직접 NCache 다른 모든 비Entity Framework .NET 애플리케이션과 마찬가지로 API 호출이 수행됩니다. 이 경로를 택하려면 약간의 프로그래밍 노력이 필요하지만 추가 프로그래밍 노력보다 이점이 더 크다고 결정할 수도 있습니다.
다음은 Entity Framework Second Level Cache로 사용했을 때와 사용했을 때 놓칠 수 있는 기능 목록입니다. NCache 귀하의 응용 프로그램에서 직접.