背景:

1:.NET Core 已經沒System.Web,也木有了HttpRuntime.Cache,因此,該空間下Cache也木有了。

2:.NET Core 有新的Memory Cache提供,不過該內存類我看了一下,并沒有支持文件的緩存依賴。

因此,在此前提下,預計.NET Core明年出來2.0版本時,可能也沒支持文件的緩存依賴,因此,有必要提前準備實現。

在寫此文前,我掃了一下園子里關于自定義緩存類的相關文章。

發(fā)現很多自定義的緩存類文章都簡單停留在對字典的增刪改查。

因此,決定補充這一篇完整思路的。

下面,就介紹一下這個緩存類的實現過程及原理。

實現緩存的類的核心思路介紹:

1:用static Dictionary<string,object> 來存檔。

A:為了處理并發(fā),V4.0或以上,可以用System.Collections.Concurrent.ConcurrentDictionary<string,object> 來存檔。

B:如果為了支持.NET 2.0,則需要自己實現一個加鎖的字典(本文即此種情況)

2:對該Dictionary提供增刪改查方法。

3:提供定時緩存的過期策略。

4:提供文件監(jiān)控策略。

5:測試并發(fā)、性能、和內存占用問題。

以下內容,重點介紹我的思路,源碼截圖以片斷方式提供,具體的源碼,會在鏈接中。

1:自定義線程安全的MDictionary(支持.NET 2.0)

如果要支持2.0,那么就只能自己實現了:實現的思路也很簡單,只要對操作都加上鎖即可:

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網站設計培訓,網站建設培訓學習是年輕人改變自己的最好方式