수색…


비고

캐싱은 미래의 요청을 위해 어딘가에 데이터를 저장하는 과정입니다. 우리가 데이터를 어딘가에 캐시하면 데이터를 얻기 위해 데이터베이스에 원치 않는 히트가 발생하는 것을 피할 수 있습니다. 이렇게하면 데이터가 더 빠르게 전달되도록 할 수 있습니다 .

System.Runtime.Caching (MemoryCache)

System.Runtime.Caching 네임 스페이스를 가져옵니다 (System.Runtime.Caching DLL을 프로젝트 참조에 추가했는지 확인하십시오).

MemoryCache 클래스의 인스턴스를 만듭니다.

MemoryCache memCache = MemoryCache.Default;

MemoryCache에 값 추가

public IQueryable<tblTag> GettblTags()
        {
            var ca = db.tblTags;
            memCache.Add("tag", ca, DateTimeOffset.UtcNow.AddMinutes(5));
            return db.tblTags;
        }

여기에 "태그"는 내 키이고 "ca"는 내 값이고 DateTimeOffset.UtcNow.AddMinutes (5)는 지금부터 5 분 동안 캐시를 설정하기위한 것입니다.

MemoryCache에서 값 가져 오기

var res = memCache.Get("tag");
            if (res != null)
            {
                return res;
            }
            else {
                var ca = db.tblTags;
                memCache.Add("tag", ca, DateTimeOffset.UtcNow.AddMinutes(5));
                return db.tblTags;
            }

변수 res에 캐시 값을 가져 오며,이 값은 5 분 동안 만 저장된다는 것을 기억하십시오. 필요에 따라 언제든지 변경할 수 있습니다. 값이 null이 아닌 경우, 그것을 돌려 주어 조작을 실시해, null의 경우는 데이타베이스로부터 데이터를 꺼내 캐쉬에 추가합니다.

MemoryCache에서 값 제거

            if (memCache.Contains("tag"))
            {
                memCache.Remove("tag");
            }


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow