摘要: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 已經有內容的索引值時,將會回傳此內容原有的資料
此為多方的嘗試所得知的...