ASP.NET有一个很好的缓存功能,我如何最好地将相同的逻辑应用于这种情况?这是一个后台应用程序 - 而不是Web上的东西。我想从内存中获取并返回缓存的对象,而不是重复来自数据库的请求。只有参数c
,a
和cu
的每个唯一匹配的第一个请求才能调用数据库。比方说,每6个小时。
构造函数接受三个参数,并用作三个列表的setter。构造函数接收了0-300个严格选择的数据行的整齐集合。但是,有大量的请求。
(请注意,样本和namings是伪的)
/// <summary>
/// Constructor
/// </summary>
public Collect(string c, string a, string cu)
: base(c, a, cu)
{
db = new DatabaseInstance();
// DObject
this._d = (from d in db.DObject
where ....
select d).ToList();
// SObject
this._s = (from s in db.SObject
where ......
select s).ToList();
// MObject
this._v = (from mv in db.MObject
where ......
select mv).ToList();
}
答案 0 :(得分:2)
您可以使用System.Runtime.Caching.MemoryCache
对象。它的工作方式与System.Web.Caching
的工作方式几乎相同,但可以在不引用System.Web
的情况下使用,并且可以扩展得更多。