簡體   English   中英

用於存儲對象列表的Cache或Application變量?

[英]Cache or Application variable to store list of objects?

在我的應用程序中,我將一些xml文件讀入對象List<Thing>List<Thing> )但我希望避免在每個請求上都按下文件系統。 xml文件中的數據很少更改,因此我想以某種方式緩存它。 在應用程序啟動時加載數據或加載它是懶惰的,對我來說沒問題。 我需要能夠在整個應用程序中使用數據並對其運行Linq查詢,幾乎將其用作內存中的迷你數據庫。 我需要能夠在不影響緩存版本的情況下更改/更新數據,因此也可能需要將數據復制到本地變量。 我怎樣才能做到這一點?

你可以使用緩存對象。

myxmllist = HttpContext.Current.Cache["myxmllist"];

    if (myxmllist == null)
    {
        //get xml from server

        HttpContext.Current.Cache.Insert("myxmllist", myxmllist); // add it to cache
    }

System.Runtime.Caching.MemoryCacheSystem.Web.Caching.Cache的主要優點之一是能夠為緩存的項目設置過期策略。 如果您要僅加載一次數據並將其保存在內存中以保持整個過程的生命周期,您也可以使用您創建的靜態類成員並在同一類的靜態構造函數中填充數據。 如果更改/更新操作不應影響內存中的數據,則需要將數據加載(或復制)到另一個容器實例中並更改(並可能保存)它。

暫無
暫無

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

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