最近我一直在研究 ASP.NET 中缓存的可能性。
我滚动了自己的“缓存”,因为我不知道更好,它看起来有点像这样:
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;
}
}
}
所以这些值会在一个单例中存储一段时间,当时间到期时,这些值会被更新。如果时间尚未到期,并且完成了对数据的请求,则返回字段中存储的值。
使用真正的方法(http://msdn.microsoft.com/en-us/library/aa478965.aspx)而不是这个有什么好处?