<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        asp.net 使用駐留在頁面中的Cache緩存常用可定時更新的數據

        來源:懂視網 責編:小采 時間:2020-11-27 22:43:25
        文檔

        asp.net 使用駐留在頁面中的Cache緩存常用可定時更新的數據

        asp.net 使用駐留在頁面中的Cache緩存常用可定時更新的數據:就是希望讓Web應用程序從一開始運行到結束都一直存在,有人就說為什么不用Application呢?其實Cache是可以一段時間內自動更新數據的,而Application就無法做成這樣的,另外Application在Web這種高并發的系統中一定要考慮線程安全的問題,Applicatio
        推薦度:
        導讀asp.net 使用駐留在頁面中的Cache緩存常用可定時更新的數據:就是希望讓Web應用程序從一開始運行到結束都一直存在,有人就說為什么不用Application呢?其實Cache是可以一段時間內自動更新數據的,而Application就無法做成這樣的,另外Application在Web這種高并發的系統中一定要考慮線程安全的問題,Applicatio

        就是希望讓Web應用程序從一開始運行到結束都一直存在,有人就說為什么不用Application呢?其實Cache是可以一段時間內自動更新數據的,而Application就無法做成這樣的,另外Application在Web這種高并發的系統中一定要考慮線程安全的問題,Application本身就不是線程安全的,而Cache就是線程安全。所以一般我都會在很多對象中我只從Web開始運行的時候從數據庫或文件里獲取一次數據,在不同的頁面中,都是使用Cache的,而且Cache中的數據可能弄成自動更新的,所以一般情況不需要考慮數據更新的問題,另外Cache也是也應用程序關聯的,全部可能駐留在該Web應用程序中的任何頁面。

        當然首先我們應該熟悉一下System.Web.Caching.Cache這個類,我這里也就只說說其中使用比較多的幾個方法和屬性,如果需要更詳細的介紹請查閱MSDN。

        首先介紹它的Add()方法,將指定的對象添加到Cache對象集合中。

        Insert()方法將覆蓋有相同Key的Cache頂。

        Remove()從應用程序的Cache對象中移除指定項。

        Count屬性,獲取存儲在緩存中對象數。

        這里我主要要說的是Add()方法,因為我們如果想要長期存在Cache并且在一段時間內自動替換Cache,就必須非常了解它。我們看看MSDN中對該方法的詳細介紹吧。呵。

        C#

        public Object Add(
        string key,
        Object value,
        CacheDependency dependencies,
        DateTime absoluteExpiration,
        TimeSpan slidingExpiration,
        CacheItemPriority priority,
        CacheItemRemovedCallback onRemoveCallback
        )
        參數
        key 類型:System.String

        用于引用該項的緩存鍵。

        value 類型:System.Object

        要添加到緩存的項。

        dependencies 類型:System.Web.Caching.CacheDependency

        該項的文件依賴項或緩存鍵依賴項。當任何依賴項更改時,該對象即無效,并從緩存中移除。如果沒有依賴項,則此參數包含 nullNothingnullptrnull 引用(在 Visual Basic 中為 Nothing)。

        absoluteExpiration 類型:System.DateTime

        所添加對象將到期并被從緩存中移除的時間。如果使用可調到期,則 absoluteExpiration 參數必須為 NoAbsoluteExpiration。

        slidingExpiration 類型:System.TimeSpan

        最后一次訪問所添加對象時與該對象到期時之間的時間間隔。如果該值等效于 20 分鐘,則對象在最后一次被訪問 20 分鐘之后將到期并從緩存中移除。如果使用絕對到期,則 slidingExpiration 參數必須為 NoSlidingExpiration。

        priority 類型:System.Web.Caching.CacheItemPriority

        對象的相對成本,由 CacheItemPriority 枚舉表示。緩存在退出對象時使用該值;具有較低成本的對象在具有較高成本的對象之前被從緩存移除。

        onRemoveCallback 類型:System.Web.Caching.CacheItemRemovedCallback

        在從緩存中移除對象時所調用的委托(如果提供)。當從緩存中刪除應用程序的對象時,可使用它來通知應用程序。

        返回值

        類型:System.Object

        備注

        如果 Cache 中已保存了具有相同 key 參數的項,則對此方法的調用將失敗。若要使用相同的 key 參數覆蓋現有的 Cache 項,請使用 Insert 方法。

        無法同時設置 absoluteExpiration 和 slidingExpiration 參數。如果要讓緩存項在特定時間到期,可將 absoluteExpiration 參數設置為特定時間,并將 slidingExpiration 參數設置為 NoSlidingExpiration。

        如果要讓緩存項在最后一次訪問該項后的某段時間之后到期,可將 slidingExpiration 參數設置為到期間隔,并將 absoluteExpiration 參數設置為 NoAbsoluteExpiration。

         此段轉載自MSDN

        具體的怎樣添加這種緩存了,一般情況我會在母版頁中Init事件或Load事件中添加緩存,因為這樣可以保證引用程序從一開始執行就可以將需要頻繁使用的對象緩存起來了。

        protected void Page_Load(object sender, EventArgs e)
        {
            Cache.Add("key",                //需要添加到Cache中的鍵
                new { value="添加值"},      //對應的值
                null,                       //緩存依賴項。
                DateTime.Now.AddMinutes(1),//固定緩存時間
                System.Web.Caching.Cache.NoSlidingExpiration, //可到延時緩存時間,
                System.Web.Caching.CacheItemPriority.NotRemovable, //緩存中的優先級。
                new System.Web.Caching.CacheItemRemovedCallback(OnMoveCacheBack));//移除時調用的回調函數
        }

        public void OnMoveCacheBack(string key, object value, System.Web.Caching.CacheItemRemovedReason reason)
        {
            if (Cache[key] != null)
            {
                Cache.Remove(key);
            }
            Cache.Add("key",                //需要添加到Cache中的鍵
                new { value = "更新值" },      //對應的值
                null,                       //緩存依賴項。
                DateTime.Now.AddMinutes(1),//固定緩存時間
                System.Web.Caching.Cache.NoSlidingExpiration, //可到延時緩存時間,
                System.Web.Caching.CacheItemPriority.NotRemovable, //緩存中的優先級。
                new System.Web.Caching.CacheItemRemovedCallback(OnMoveCacheBack));//移除時調用的回調函數
        }

        參數的具體使用上一定要注意三點,

        第一就是緩存的依賴項一定要指定為null。

        第二固定到期緩存時間不能和可到延時緩存時間同時指定時間,實現我說的定期更換數據的,當然就要使用固定到期緩存時間了。

        第三就是該緩存的優先級了,這個也比較關鍵,一定要指定為System.Web.Caching.CacheItemPriority.NotRemovable枚舉值,這樣才不會被自動收回,但是一定要注意該緩存的大小。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        asp.net 使用駐留在頁面中的Cache緩存常用可定時更新的數據

        asp.net 使用駐留在頁面中的Cache緩存常用可定時更新的數據:就是希望讓Web應用程序從一開始運行到結束都一直存在,有人就說為什么不用Application呢?其實Cache是可以一段時間內自動更新數據的,而Application就無法做成這樣的,另外Application在Web這種高并發的系統中一定要考慮線程安全的問題,Applicatio
        推薦度:
        標簽: 的數據 數據 緩存
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲精品午夜视频| 婷婷精品国产亚洲AV麻豆不片| 久久精品国产亚洲αv忘忧草| 免费A级毛片无码专区| 亚洲国产综合专区电影在线| 日本免费一区二区久久人人澡| 精品国产亚洲AV麻豆 | 久久久久亚洲AV成人片| 全免费a级毛片免费看| 亚洲免费视频网站| 18女人腿打开无遮掩免费| 亚洲激情视频网站| 毛色毛片免费观看| 精品国产日韩亚洲一区在线| 亚洲国产黄在线观看| 亚洲国产精品第一区二区| 91香蕉国产线观看免费全集| 亚洲av无码国产精品色在线看不卡 | 亚洲视频在线观看2018| 国产区在线免费观看| 亚洲国产另类久久久精品黑人| 亚洲日韩av无码中文| 免费人成年轻人电影| 99精品视频免费| 亚洲熟妇无码爱v在线观看| 成熟女人牲交片免费观看视频| 亚洲精品成人网站在线观看| 亚洲免费精彩视频在线观看| 97久久国产亚洲精品超碰热| 国产大片91精品免费看3| 97在线免费观看视频| 亚洲xxxxxx| 亚洲av日韩av欧v在线天堂| 亚洲sss综合天堂久久久| 四虎在线播放免费永久视频| a级黄色毛片免费播放视频| 久久久久精品国产亚洲AV无码| 亚洲人成网站色在线入口| 最近中文字幕mv免费高清视频8 | 亚洲日韩在线中文字幕综合| 亚洲精品亚洲人成在线观看|