2012-12-20 2 views
3

.NET 캐싱 사용과 관련하여 가장 많은 정보를 검색하고 있습니다. Cache 객체와.NET 캐시에서 가장 많은 정보 얻기

우리는 3 개 개의 매개 변수

  • Count
  • EffectivePercentagePhysicalMemoryLimit
  • EffectivePrivateBytesLimit

하지만 어떻게 모든 나머지 약을 검색 할 수 있습니다? 나는 그래서 예 : "서버에서 사용 가능한 메모리", "사용 된 캐시 메모리"등의 정보를 얻을 수 있습니다

은 ...

캐쉬 관리라는 ASP Allience에 오래 프로젝트가 없었다,하지만 더있어 더 이상 사용할 내가 찾을 수있는 모두가 표시 않는 그것의 이미지였다 정확히 : 나는 문서보고와 CacheMemoryLimit처럼 System.Runtime.Cache의 새로운 .NET에 대해 4 개 항목을 읽고 있었다

enter image description here

~ d PhysicalMemoryLimit하지만 어떻게 사용합니까에 대한 실제 예제를 찾을 수 없습니다 ...

누구도 캐시 정보에 대한 래퍼가 있습니까? 또는이 새로운 방법을 사용할 수있는 방법에 대한 아이디어?

내 현재 캐시 구현은 다음과 같습니다

public class InMemoryCache : ICacheService 
{ 
    private int minutes = 15; 

    public T Get<T>(string cacheID, Func<T> getItemCallback) where T : class 
    { 
     T item = HttpRuntime.Cache.Get(cacheID) as T; 
     if (item == null) 
     { 
      item = getItemCallback(); 
      HttpRuntime.Cache.Insert(
       cacheID, 
       item, 
       null, 
       DateTime.Now.AddMinutes(minutes), 
       System.Web.Caching.Cache.NoSlidingExpiration); 
     } 
     return item; 
    } 

    public void Clear() 
    { 
     IDictionaryEnumerator enumerator = HttpRuntime.Cache.GetEnumerator(); 

     while (enumerator.MoveNext()) 
      HttpRuntime.Cache.Remove(enumerator.Key.ToString()); 
    } 

    public Dictionary<string, string> Stats() 
    { 
     var cache = HttpRuntime.Cache; 
     var r = new Dictionary<string, string>(); 

     r.Add("Count", cache.Count.ToString()); 
     r.Add("EffectivePercentagePhysicalMemoryLimit", cache.EffectivePercentagePhysicalMemoryLimit.ToString()); 
     r.Add("EffectivePrivateBytesLimit", cache.EffectivePrivateBytesLimit.ToString()); 

     return r; 
    } 
} 

답변

0

이 한 번 봐 : https://www.youtube.com/watch?v=Dz_7hukyejQ

이것은 stroes 바이트 [] 세그먼트에서 항목을 캐시하는 100 % 관리되는 사용자 지정 메모리 관리자를 기반으로하는 크기는 256MB와 같습니다. 이렇게하면 GC가 byte []로 상주하는 "객체"를 보지 못하기 때문에 아무 것도 감속하지 않고 수천만 개의 객체를 저장할 수 있습니다. 즉

https://github.com/aumcode/nfx/tree/master/Source/NFX/ApplicationModel/Pile

메인 인터페이스의 :

비디오는 하나의 행동에 캐시를보고 여기

코드 얼마나 많은 개체, 페이지, 우선 순위 등 ... 볼 수있는 방법을 보여줍니다 캐시 :

https://github.com/aumcode/nfx/blob/master/Source/NFX/ApplicationModel/Pile/ICache.cs

당신은 테이블을 이름을 가질 수

연령 기반 또는 절대 타임 스탬프 특급 기억 한계와 입문 우선 순위가있는 이화배