ASP.NET Caching

Recent am investigat posibilitățile de cache în ASP.NET.

Mi-am rostogolit propriul "Cache", pentru că nu știam mai bine, părea cam așa:

public class DataManager
{

      private static DataManager s_instance;

      public static DataManager GetInstance()
      {
      }

      private Data[] m_myData;
      private DataTime m_cacheTime;

      public Data[] GetData()
      {
            TimeSpan span = DateTime.Now.Substract(m_cacheTime);

            if(span.TotalSeconds > 10)
            {
                 //Do SQL to get data
                  m_myData = data;
                  m_cacheTime = DateTime.Now;
                  return m_myData;     
            }
            else
            {
                  return m_myData;
            }
      }

}

Deci, valorile sunt stocate pentru un timp într-un singur ton, iar când expiră timpul, valorile sunt reînnoite. Dacă timpul nu a expirat și se face o cerere pentru date, valorile stocate în câmp sunt returnate.

Care sunt avantajele folosirii metodei reale ( http://msdn.microsoft. com/en-us/library/aa478965.aspx ) în loc de asta?

0
fr hi bn

3 răspunsuri

Caching-ul în ASP.NET este bogat în funcții și puteți configura cache-ul într-un mod granular.

În cazul în care (cache de date) dvs. una dintre caracteristicile pe care nu beneficiați este abilitatea de a invalida și reîmprospăta memoria cache dacă datele de pe serverul SQL este actualizat într-un fel (SQL Cache Dependență).

http://msdn.microsoft.com/en-us/library/ms178604. aSPX

0
adăugat

Mecanismul de caching ASP.NET a fost în jur de ceva timp, deci este stabil și bine înțeles. Există o mulțime de resurse acolo pentru a vă ajuta să profitați la maximum de ea.

Deplasarea dvs. poate fi soluția potrivită, în funcție de cerințele dumneavoastră.

Partea dificilă a memorării în cache este alegerea a ceea ce este sigur în cache și când. Pentru aplicațiile în care datele se schimbă frecvent, puteți introduce unele probleme greu de depanat cu cache, deci aveți grijă.

0
adăugat

Cred că maximul "lăsați calculatorul să o facă, este mai inteligent decât voi" se aplică aici. La fel ca gestionarea memoriei și alte lucruri complicate, computerul este mult mai informat despre ceea ce face, decât sunteți; în consecință, puteți obține mai multă performanță decât dvs.

Microsoft a avut o echipă de ingineri care lucrează la ea și probabil au reușit să strângă performanțe mult mai mari din sistem decât ar fi posibil pentru tine. De asemenea, este posibil ca caching-ul ASP.NET să funcționeze la un nivel diferit (care este inaccesibil aplicației dvs.), făcând-o mult mai rapidă.

0
adăugat