2013-06-28 14 views
6

W aplikacji ASP.NET MVC, nad którą pracuję, istnieje duża ilość danych statycznych (nie ma aktualizacji/wstawiania do tej tabeli w czasie wykonywania), które muszę pobrać przez zgrupowanie przez różne kolumny lub sumowanie i agregację. Operacje matematyczne są dość proste.Struktura buforowania dla .NET

Teraz repozytorium wywołuje wiele wywołań, które spowalniają reakcję kontrolera. Można proszę sugerować dobre ramy buforowania, która pozwala mi buforować połączenia repozytorium (o tych samych parametrach wejściowych) bez konieczności pisania kodu niestandardowego

Odpowiedz

5

Memorycache po prostu pasuje do sprawy po prostu dodając do repozytoriów

ale pamiętaj:

Klasa MemoryCache jest podobna do klasy pamięci podręcznej ASP.NET. Klasa MemoryCache ma wiele właściwości i metod uzyskiwania dostępu do pamięci podręcznej, która będzie ci znana, jeśli używasz klasy pamięci podręcznej ASP.NET. Główne różnice między klasami pamięci podręcznej i pamięci są takie, że klasa MemoryCache została zmieniona, aby była możliwa do zastosowania przez aplikacje .NET Framework, które nie są aplikacjami ASP.NET. Na przykład klasa MemoryCache nie ma zależności w zestawie System.Web. Kolejną różnicą jest to, że można utworzyć wiele instancji klasy MemoryCache do użycia w tej samej aplikacji i tej samej instancji AppDomain.

1

CacheManager

CacheManager jest open source ramy buforowanie dla .NET napisany w języku C# i jest dostępny za pośrednictwem Nuget. Obsługuje różnych dostawców pamięci podręcznej i wdraża wiele zaawansowanych funkcji.

Proste zacząć ..

var cache = CacheFactory.Build<string>(
    p => p.WithSystemRuntimeCacheHandle()); 

Łatwy w użyciu ...

cache.AddOrUpdate("key", "region", "value", _ => "update value"); 
cache.Expire("key", "region", TimeSpan.FromMinutes(1)); 
var val = cache.Get("key", "region"); 
var item = cache.GetCacheItem("key", "region"); 
cache.Put("key", "put value"); 
Powiązane problemy