长期听众 - 首次来电。我希望能得到一些建议。我一直在阅读有关在.NET中使用System.Web.Caching和System.Runtime.Caching的缓存。 我想知道除了使用带锁的静态变量之外,我还能获得什么其他好处。我的当前(简单的)缓存方法如下:
public class Cache
{
private static List<Category> _allCategories;
private static readonly object _lockObject = new object();
public static List<Category> AllCategories
{
get
{
lock (_lockObject)
{
if (_allCategories == null)
{
_allCategories = //DB CALL TO POPULATE
}
}
return _allCategories;
}
}
}
除了过期时间(我不想让它过期),我不知道使用内置缓存的好处在哪里。
也许对于不适用于我的更复杂的缓存场景有好处,或者我只是漏掉了什么(这不是第一次)。
那么,如果我想要一个永不过期的缓存,使用缓存的优势是什么?静态变量不能做到这一点吗?