我正在创建一个Web应用程序,并且遇到缓存问题。ASP.net缓存 - 正确使用
我的应用程序有大量的数据,我想尝试,而不是每次我需要信息时从sql数据库调用。
我曾尝试以下列方式使用缓存:
public static List<DAL.EntityClasses.AccountsEntity> Accounts
{
get
{
if (HttpContext.Current.Cache["Account"] == null)
{
HttpContext.Current.Cache.Insert("Account", LoadAccounts(), null, DateTime.Now.AddHours(4), System.Web.Caching.Cache.NoSlidingExpiration);
}
return (List<DAL.EntityClasses.AccountsEntity>)HttpContext.Current.Cache["Account"];
}
}
的问题是,它似乎是为我添加项目到缓存中,我已经在项目缓存移除。
因此大多数调用都在调用数据库来获取缓存数据。
我哪里出错了?
感谢
谢谢。如果我在缓存中加载一些演出,假设服务器完成任务,这是否是一个问题?我想所有的账户,用户,客户等itmes像我不想添加更改的订单。 – SetiSeeker 2010-02-03 09:32:02
不是一个问题,如果你有它的记忆。不要缓存整个数据库,缓存不变的内容,并确保在缓存项目上设置适当的到期时间。 – Oded 2010-02-03 09:36:04