ASP.NET имеет хорошую функцию кэширования, как мне лучше применить ту же логику к этому сценарию?Это фоновое приложение, а не веб-что-то.Я хочу получить и вернуть кэшированный объект из памяти, а не повторять запросы из базы данных.Только первый запрос для каждого уникального совпадения параметров c
, a
и cu
должен вызывать базу данных.Допустим, за 6 часов.
Конструктор принимает три параметра и служит установщиком для трех списков.Конструктор получает аккуратную коллекцию из 0-300 строго выбранных строк данных.Впрочем, с напряженным количеством запросов.
(Обратите внимание, что образец и наименования псевдо)
/// <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();
}