[英]Storing object data in ASP.NET MVC
我在基于ASP.NET MVC的网站中有一个非常简单的对象。
模型:
public class Visualisation
{
public string name { get; set; }
public string[] relationships { get; set; }
}
它用于建立我的网站中保存的数据的名称和关系数组,然后通过D3JS图形显示。
控制器:
public ActionResult Visualisations()
{
List<Visualisation> VisualList = new List<Visualisation>();
/*
A whole lot of database hits, foreach loops, heaps of CPU and db time
*/
return View(VisualList);
}
问题在于,此页面的构建(数百个拥有数千条记录的用户,并为此报告整理了数十条数据)最多需要30秒,而且只会变得更糟,但是数据本身并没有真正需要经常更新。
有没有一种方法可以在第一次创建VisualList对象之后将其存储在某个地方,如果经过了不到24小时,则将该对象返回到视图;如果超过24小时,则将其重建并传递新副本。
此外,在理想情况下,报告将仅每24小时自动生成一次,因此用户无需等待30秒钟以上即可加载报告。
除了高速缓存,并尝试优化业务/数据库逻辑。 Lazy <T>而不是List <T>
查看这些链接:
https://sankarsan.wordpress.com/2009/10/04/laziness-in-c-4-0-lazyt/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.