簡體   English   中英

在ASP.NET MVC中存儲對象數據

[英]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秒鍾以上即可加載報告。

對您來說,最簡單的選擇是將其緩存起來,並賦予它24小時的使用壽命,請檢查此項

如果每個請求的數據都相同,則可以使用mvc中的[OutputCache]來緩存View輸出,而不是數據。 檢查一下

除了高速緩存,並嘗試優化業務/數據庫邏輯。 Lazy <T>而不是List <T>

查看這些鏈接:

什么時候應該使用Lazy <T>?

https://sankarsan.wordpress.com/2009/10/04/laziness-in-c-4-0-lazyt/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM