2016-06-28 2 views
2

ASP.NET MVC 5로 작성된 응용 프로그램이 있습니다. 이로 인해 많은 데이터베이스 트랜잭션이 생성됩니다.Memcached를 Entity Framework 6의 두 번째 계층 캐싱으로 사용할 수 있습니까?

보고서 전용으로 서버 슬레이브가 필요하지 않으므로 보고서에서 생성 된 모든 쿼리를 캐시하기 위해 Entity 프레임 워크에서 두 번째 수준의 캐싱을 사용해야합니다.

여기에 아이디어는 특히 여러 사용자가 동일한 보고서를 보려고 할 때 데이터베이스에 도달해야하는 쿼리의 양을 줄이는 것입니다. 따라서 대시 보드를보고 싶은 사람이 5 명인 경우 데이터베이스를 방문하는 사람이 하나 뿐이며 나머지 사람은 캐시에 저장된 데이터 세트를 읽습니다. 이렇게하면 보고서 성능이 향상되고 데이터베이스 잠금이 감소하며 응용 프로그램 성능이 향상됩니다.

Memcached 또는 Redis은 설정된 시간 동안 쿼리를 실행 한 후에 데이터 집합이 캐시 된 Entity 프레임 워크에서 사용할 수 있습니까? 물론 쿼리가 실행되기 전에 하드 쿼리가 서버에서 실행되기 전에 캐시가 기존 데이터 집합에 대해 검사됩니다.

나는 정확히 달성하려고하는 것 같아 보이는 NCache을 보았지만 불행히도 비싸다.

답변

1

NCache는 Redis 나 Memcache와 비교할 때 "고가"이지만 좋은 이유는 있습니다.

사용자가 수행중인 엔티티 프레임 워크 공급자 모델은 NCache Enterprise 버전과 함께 제공됩니다. 그것은 당신에게 많은 DEV 시간을 절약 할 것입니다. 자세한 내용은 나를 보자에 딱 맞는 기사

Entity Framework Caching with NCache

로 포인트 그리고 당신이 제품에 대해 지불 할 것이기 때문에 당신은 많은 더 많은 방법과 기능으로 애플리케이션 응답 시간을 향상시킬 수 있습니다. 당신은 여전히에서 Memcache에 대한 영구적 인 경우 다음 Julie Lerman는 엔티티 프레임 워크의 두 번째 레벨 캐시를 구현하는 방법에 대한 좋은 기사를 가지고 있지만 더 많은 정보를 얻을

Memcache Comparison 시도하고 Redis Comparison

. 또는 github에서 다른 오픈 소스 Entity Framework 모듈을 사용하여 버그를 포용 할 수도 있습니다. EFRedis

전체 공개 : 전 Alachisoft에서 일하고 있습니다.