背景:
1:.NET Core 已經(jīng)沒System.Web,也木有了HttpRuntime.Cache,因此,該空間下Cache也木有了。
2:.NET Core 有新的Memory Cache提供,不過該內(nèi)存類我看了一下,并沒有支持文件的緩存依賴。
因此,在此前提下,預計.NET Core明年出來2.0版本時,可能也沒支持文件的緩存依賴,因此,有必要提前準備實現(xiàn)。
在寫此文前,我掃了一下園子里關(guān)于自定義緩存類的相關(guān)文章。
發(fā)現(xiàn)很多自定義的緩存類文章都簡單停留在對字典的增刪改查。
因此,決定補充這一篇完整思路的。
下面,就介紹一下這個緩存類的實現(xiàn)過程及原理。
實現(xiàn)緩存的類的核心思路介紹:
1:用static Dictionary<string,object> 來存檔。
A:為了處理并發(fā),V4.0或以上,可以用System.Collections.Concurrent.ConcurrentDictionary<string,object> 來存檔。
B:如果為了支持.NET 2.0,則需要自己實現(xiàn)一個加鎖的字典(本文即此種情況)
2:對該Dictionary提供增刪改查方法。
3:提供定時緩存的過期策略。
4:提供文件監(jiān)控策略。
5:測試并發(fā)、性能、和內(nèi)存占用問題。
以下內(nèi)容,重點介紹我的思路,源碼截圖以片斷方式提供,具體的源碼,會在鏈接中。
1:自定義線程安全的MDictionary(支持.NET 2.0)
如果要支持2.0,那么就只能自己實現(xiàn)了:實現(xiàn)的思路也很簡單,只要對操作都加上鎖即可:
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26
