C# Cache in MVC 4

摘要:C# Cache in MVC 4

最近因為有些資料會不斷重覆由資料庫取出,導致網站速度慢了一些

因此有了將這些資料放入 Cache 內的想法,希望能夠加快速度

網路上拜讀了此篇文章

http://stackoverflow.com/questions/22498893/how-to-cache-data-on-server-in-asp-net-mvc-4

以及保哥的

http://blog.miniasp.com/post/2010/05/01/ASPNET-4-Cache-API-and-ObjectCache.aspx

但此篇作法主要是參考第一個超連結的

首先在 Reference 內要引用

System.Runtime.Caching 此 DLL

接著在 Cache 內呢

先將 Cache 物件 New 出來

private static MemoryCache _cache = MemoryCache.Default;

接著放入 Cache 的時候如下

要放入的資料內容

 List<Model> Model = new List<Model>();

 

CacheItemPolicy cacheItemPolicy = new CacheItemPolicy();
cacheItemPolicy.AbsoluteExpiration = DateTime.Now.AddDays(1); // Cache 的存活時間

 

_cache.Add("Cache_Key", Model, cacheItemPolicy);

利用以上的方式,即可將 Cache["Cache_Key"]  內放入資料快速使用

_cache.Get("Cache_Key") as List<Model>;  // 取得資料的方式

_cache.Set("Cache_Key", Model, cacheItemPolicy); // 設定快取資料的方式,若要更新此Cache內容的時候

 

這裡有個題外話,在測試的時候

我也不斷的利用 Add 的方式去更新 Cache 內容,結果翻了一下 MSDN 若 Add 已經有內容的索引值時,將會回傳此內容原有的資料

此為多方的嘗試所得知的...