ASP.NET oferuje możliwości programistyczne, które zasadniczo buforują informacje w aplikacji ASP.NET. Funkcjonalność jest podobna do obiektu Aplikacji, ale umożliwia dynamiczne utrzymywanie danych w pamięci podręcznej przez cały okres życia ASP.NET aplikacji. Buforowanie danych w aplikacji może znacznie poprawić wydajność, ponieważ dane są lokalne dla serwera i można je szybko odzyskać. Zamiast musieć ponownie zapytywać oryginalne źródło danych. Szczególnie największym ograniczeniem obecnego systemu jest baza danych, a racjonalne wykorzystanie pamięci podręcznej może ograniczyć wiele niepotrzebnego dostępu do bazy danych, aby zoptymalizować wydajność systemu.
Obiekty pamięci podręcznej poprawiają możliwość implementowania powiadomień o wygaśnięciu i wywołaniu opartym na relewancji, które umożliwiają działania na przedmiotach buforowanych w pamięci podręcznej innym użytkownikom aplikacji zarządzania lub samemu ASP.NET. Użyj obiektu Cache do przechowywania dowolnego typu (wartości, typu lub typu aplikacji) przed ich aktualizacją lub usunięciem. Pamięć podręczna jest bardziej elastycznym obiektem niż obiekt aplikacji. Wspiera:
1. Wygasanie i usuwanie oparte na relewancie – Obiekty pamięci podręcznej umożliwiają automatyczne powiązanie wygasania i usuwania wartości pamięci podręcznej z zdarzeniem pliku, konkretną lub względną datą/godziną albo innym kluczem pamięci podręcznej.
2. Automatyczne zarządzanie blokadami – obiekty pamięci podręcznej zawierają wewnętrzne zarządzanie blokadami, które zapewnia synchronizację aktualizacji atomowych (aktualizacji, które można umieścić w operacji obliczeniowej).
3. Mechanizm odwołania – obiekt pamięci podręcznej umożliwia ustawienie funkcji callback wywołanej podczas usuwania elementów pamięci podręcznej.
Metoda dodawania pamięci podręcznej zawiera Add() lub Insert(), a metoda Insert może używać opcjonalnych parametrów do dodania pamięci podręcznej przy użyciu obu domyślnych parametrów:
Cache.Add(KeyName, KeyValue,Dependencies,AbsoluteExpiration,SlidingExpiration,Priority,CacheItemRemoveCallback);
Parametry to: nazwa pamięci podręcznej, obiekt buforowany, zależność, bezwzględny czas wygaśnięcia, względny czas wygaśnięcia, priorytet oraz zdarzenia spowodowane wygaśnięciem pamięci podręcznej.
Zależności pamięci podręcznej: zależności plików, inne zależności pamięci podręcznej, zależności bazy danych oraz metody wygaśnięcia są ustawiane, a gdy zależności się zmieniają, pamięć podręczna jest nieprawidłowa i może wywoływać określone zdarzenia.
1. Zależności plików: pamięć podręczna zależności plików xml:
- <p>DataSet dsProducts = new DataSet();</p><p>//...dsProducts数y据Y</p><p>CacheDependency fileDepends = new CacheDependency(Server.MapPath("Northwind.xml"));</p><p>Cache.Insert("dsProducts", dsProducts, fileDepends);</p>
Skopiuj kod
2. Inne zależności przedmiotów pamięci podręcznej:
- <p>object cacheData;</p><p>string[] fileDependsArray = { Server.MapPath("Northwind.xml") };</p><p>string[] cacheDependsArray = { "Depend0", "Depend1", "Depend2" };</p><p>CacheDependency cacheDepends = new CacheDependency(fileDependsArray, cacheDependsArray);</p><p>Cache.Insert("cacheName", cacheData, cacheDepends);</p>
Skopiuj kod
3. Ustalenie czasu ważności:
AbsoluteExpiration może ustawić absolutny czas wygaśnięcia pamięci podręcznej, na przykład ustawiając jej na wygaśnięcie po 30 minutach:
- Cache.Insert("cacheName ", "cacheValue", null, DateTime.Now.AddMinutes(30), Cache.NoSlidingExpiration);
Skopiuj kod NoSlidingExpiration może ustawić względny czas wygaśnięcia, jeśli pamięć podręczna nie zostanie uzyskana w określonym czasie przez NoSlidingExpiration, jeśli pamięć podręczna wygaśnie i nie będzie dostępna przez określony czas, pamięć podręczna nie wygaśnie. Jeśli uzyskasz dostęp do pamięci podręcznej w ciągu 30 minut, nie wygaśnie:
- Cache.Insert("cacheName", "cacheValue", null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(30));
Skopiuj kod
|