2017-03-18 1 views
1

ASP.Net 핵심 응용 프로그램에서 캐싱을 구현하려고합니다. 현재 구현 한 것은 IMemoryCache을 사용하는 메모리 캐싱이지만 SQL Server 2016의 해당 레코드가 변경되면 캐시가 무효화되어야합니다. 한 가지 방법은 내가 찾은 SQLCacheDependency하지만 일부의. 닷넷 코어에 따라 this link.Net 핵심 SQL 캐시 종속성

이것에 대한 생각?

답변

0

지금이 클래스는 .Net 코어로 마이그레이션되지 않았으므로 쉽게 이러한 논리를 관리 할 수 ​​없습니다. 아마도 그것은 .Net Standard 2.0의 일부가 될 것이므로으로 임시 SQL 데이터베이스 검사 (매우 비효율적 임)를 사용하거나 업데이트를 기다리는 임시 해결책을 구현하십시오.

-1

CancellationChangeToken을 추가 한 다음 Cancel 메서드를 호출하면 메모리 캐시에서 레코드가 제거됩니다. 그 위에, 당신이 사용할 수있는 PostEvictionDelegate 콜백이 있습니다 (캐시 레코드가 제거 된 후에 추가 작업을 시작하기 위해). 자세한 내용은 여기를 참조하십시오. https://docs.microsoft.com/en-us/aspnet/core/performance/caching/memory

+0

취소 방법을 어떻게 제안 하시겠습니까? SQL 데이터베이스에 대한 폴링을 만드시겠습니까? – VMAtm

+0

@VMAtm 폴링은 편도입니다. 캐시를 고려하면 데이터베이스가 실제로 호출 될 때 (항상 유효성을 확인하는 것이 중요하지 않는 한 캐시 무효화 시간 초과 등을 기준으로) 캐시를 검증해야합니다. - 캐시가 미스이고 cancel 메소드가 저장소 구현. –