程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> Cache在aspx.cs和xxx.CS裡的不同用法

Cache在aspx.cs和xxx.CS裡的不同用法

編輯:.NET實例教程


在普通ASPx.cs代碼裡可以用:

Cache cache = new Cache();

但在XXXX.CS裡,就不能用上面的方式了,得用:

永不時間過期

HttpContext.Current.Cache.Insert("Name", "王翔", null, DateTime.MaxValue, TimeSpan.Zero, CacheItemPriority.NotRemovable, null);

Name:Key

王翔:Value

null:表示沒有緩存依賴項

DateTime.MaxValue:時間的最大值(9999-99-99 12:59:59),表示不使用絕對時間過期策略

TimeSpan.Zero:表示不使用平滑過期

CacheItemPrority.NotRemovable:表示優先權為不刪除該Cache

null:不怎麼用,就null吧

 ASP.Net

絕對時間過期 (10秒後,自動過期)

HttpContext.Current.Cache.Insert("Name", "王翔", null, DateTime.Now.AddSeconds(10), TimeSpan.Zero, CacheItemPriority.NotRemovable, null);

 

平滑時間過期 (連續10秒沒有訪問該緩存,則自動過期)

HttpContext.Current.Cache.Insert("Name", "王翔", null, DateTime.MaxValue, TimeSpan.FromSeconds(10));

 

緩存的更新策略

if (HttpContext.Current.Cache["UserCacheList"] != null)
            {
                ht = (Hashtable)HttpContext.Current.Cache["UserCacheList"];
                ht.Add(uId, HttpContext.Current.Cache["User" + uId]);

            }
            else
            {
                ht.Add(uId, HttpContext.Current.Cache["User" + uId]);
                //HttpContext.Current.Cache["UserCacheList"] = ht;
                HttpContext.Current.Cache.Insert("UserCacheList", ht, null, DateTime.MaxValue, TimeSpan.Zero, CacheItemPriority.NotRemovable, null);
            }


http://www.cnblogs.com/kingfly/archive/2010/02/26/1674318.Html

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved