【Birdshover】.Net 記憶體快取專案 SharpCached原始碼
/* SharpCached 是一個記憶體快取工具
* by yurow @ http://birdshover.cnblogs.com
* 2008-7-29 created
*/
SharpCached V0.6
下載地址:http://files.cnblogs.com/birdshover/SharpCached.zip
有興趣的朋友,可以和我一起研究,呵呵,不完善的地方期望大家能不吝指正。 本來想在CodePlex開個開源專案的,但是人太笨,用的SvnBridge一直傳不上去,鬱悶得不弄了,呵呵。
SharpCached是完全用C#開發的,基於.Net Framework 2.0執行的記憶體快取服務,Visual Studio 2008專案。
一、實現功能
實現IIS程式外快取功能,通過Remoting呼叫。
實現了未命中或者近段時間內未命中結果過期。
實現了限制使用最大記憶體(程式檢測出的和Windows工作管理員不一致,工作管理員中看到使用記憶體要多一些。)
二、使用服務
編譯後檔案清單
SharpCached.exe
ISharpCarrier.dll
SharpCached.exe.config
SharpCached.exe.config配置檔案說明
<!-- 服務埠 -->
<!-- 最大使用記憶體,單位M-->
<!-- 存取Key初始數值 -->
<!-- 未命中過期-->
<!-- 服務名-->
註冊:sc create "SharpCached" type= interact type= own start= auto binPath= "%cd%"SharpCached.exe"
啟動:net start "SharpCached"
三、呼叫方法
客戶端配置檔案:
如果是Windows應用程式,把
<!-- 伺服器地址 -->
<!-- 連線超時時間 -->
程式碼加入app.setting中
如果是Web程式,把以上程式碼加入Web.Config中。
專案引用SharpClient專案和ISharpCarrier專案
示例程式碼:
DataTable GetTable()
{
SharpCachedAPI api = new SharpCachedAPI();
string key = "key_123";
if (api.IsError)
{
return new DataTable();
}
else
{
if (api.Exist(key))
{
return SharpCachedAPI.Deserialize(api.Get(key));
}
else
{
DataTable dt = new DataTable();
string value = SharpCachedAPI.Serialize(dt);
api.Set(key, value);
return dt;
}
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-413577/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- TMCache原始碼分析(一)—TMMemoryCache記憶體快取原始碼記憶體快取
- TMCache原始碼分析(一)---TMMemoryCache記憶體快取原始碼記憶體快取
- Android記憶體快取LruCache原始碼解析Android記憶體快取原始碼
- Android 記憶體快取框架 LruCache 的原始碼分析Android記憶體快取框架原始碼
- ASP.NET Core - 快取之記憶體快取(上)ASP.NET快取記憶體
- ASP.NET Core - 快取之記憶體快取(下)ASP.NET快取記憶體
- CPU快取記憶體快取記憶體
- Glide - 記憶體快取與磁碟快取IDE記憶體快取
- DDD 和 記憶體快取記憶體快取
- 記憶體快取選型記憶體快取
- 多核cpu、cpu快取記憶體、快取一致性協議、快取行、記憶體快取記憶體協議
- Android記憶體優化之記憶體快取Android記憶體優化快取
- docker部署redis快取記憶體DockerRedis快取記憶體
- 談談CPU快取記憶體快取記憶體
- CPU快取和記憶體屏障快取記憶體
- django 快取表格到記憶體Django快取記憶體
- Java記憶體快取-通過Google Guava建立快取Java記憶體快取GoGuava
- Netty原始碼—六、tiny、small記憶體分配Netty原始碼記憶體
- Netty原始碼解析 -- 記憶體池與PoolArenaNetty原始碼記憶體
- 高效能記憶體快取 ristretto記憶體快取
- MRAM快取記憶體的組成快取記憶體
- .Net Core快取元件(MemoryCache)原始碼解析快取元件原始碼
- 在 Go 專案中基於本地記憶體快取的實現及應用Go記憶體快取
- 2.3.1 (下)WebView 檔案下載、快取、記憶體洩露WebView快取記憶體洩露
- Netty原始碼解析 -- 記憶體對齊類SizeClassesNetty原始碼記憶體
- Java記憶體快取-通過Map定製簡單快取Java記憶體快取
- 分享基於MemoryCache(記憶體快取)的快取工具類,C# B/S 、C/S專案均可以使用!記憶體快取C#
- iOS開發之記憶體與快取iOS記憶體快取
- 建立快取記憶體機制-java版快取記憶體Java
- 記憶體資料庫快取介紹記憶體資料庫快取
- 【Linux】Linux 的快取記憶體Linux快取記憶體
- Swoole 原始碼分析——記憶體模組之記憶體池原始碼記憶體
- 記憶體管理原始碼 (轉)記憶體原始碼
- 淺談快取寫法(三):記憶體快取該如何設計快取記憶體
- 快取記憶體一致性協議MESI與記憶體屏障快取記憶體協議
- 快取及使用 Circuit Breaker 限制記憶體使用快取UI記憶體
- iOS 除SDWebImage之外清理記憶體中快取iOSWeb記憶體快取
- Oracle Exadata與SGA快取記憶體CQOracle快取記憶體