• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題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關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
    當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

    asp.net 使用駐留在頁(yè)面中的Cache緩存常用可定時(shí)更新的數(shù)據(jù)

    來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:43:25
    文檔

    asp.net 使用駐留在頁(yè)面中的Cache緩存常用可定時(shí)更新的數(shù)據(jù)

    asp.net 使用駐留在頁(yè)面中的Cache緩存常用可定時(shí)更新的數(shù)據(jù):就是希望讓W(xué)eb應(yīng)用程序從一開始運(yùn)行到結(jié)束都一直存在,有人就說(shuō)為什么不用Application呢?其實(shí)Cache是可以一段時(shí)間內(nèi)自動(dòng)更新數(shù)據(jù)的,而Application就無(wú)法做成這樣的,另外Application在Web這種高并發(fā)的系統(tǒng)中一定要考慮線程安全的問(wèn)題,Applicatio
    推薦度:
    導(dǎo)讀asp.net 使用駐留在頁(yè)面中的Cache緩存常用可定時(shí)更新的數(shù)據(jù):就是希望讓W(xué)eb應(yīng)用程序從一開始運(yùn)行到結(jié)束都一直存在,有人就說(shuō)為什么不用Application呢?其實(shí)Cache是可以一段時(shí)間內(nèi)自動(dòng)更新數(shù)據(jù)的,而Application就無(wú)法做成這樣的,另外Application在Web這種高并發(fā)的系統(tǒng)中一定要考慮線程安全的問(wèn)題,Applicatio

    就是希望讓W(xué)eb應(yīng)用程序從一開始運(yùn)行到結(jié)束都一直存在,有人就說(shuō)為什么不用Application呢?其實(shí)Cache是可以一段時(shí)間內(nèi)自動(dòng)更新數(shù)據(jù)的,而Application就無(wú)法做成這樣的,另外Application在Web這種高并發(fā)的系統(tǒng)中一定要考慮線程安全的問(wèn)題,Application本身就不是線程安全的,而Cache就是線程安全。所以一般我都會(huì)在很多對(duì)象中我只從Web開始運(yùn)行的時(shí)候從數(shù)據(jù)庫(kù)或文件里獲取一次數(shù)據(jù),在不同的頁(yè)面中,都是使用Cache的,而且Cache中的數(shù)據(jù)可能弄成自動(dòng)更新的,所以一般情況不需要考慮數(shù)據(jù)更新的問(wèn)題,另外Cache也是也應(yīng)用程序關(guān)聯(lián)的,全部可能駐留在該Web應(yīng)用程序中的任何頁(yè)面。

    當(dāng)然首先我們應(yīng)該熟悉一下System.Web.Caching.Cache這個(gè)類,我這里也就只說(shuō)說(shuō)其中使用比較多的幾個(gè)方法和屬性,如果需要更詳細(xì)的介紹請(qǐng)查閱MSDN。

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

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

    Remove()從應(yīng)用程序的Cache對(duì)象中移除指定項(xiàng)。

    Count屬性,獲取存儲(chǔ)在緩存中對(duì)象數(shù)。

    這里我主要要說(shuō)的是Add()方法,因?yàn)槲覀內(nèi)绻胍L(zhǎng)期存在Cache并且在一段時(shí)間內(nèi)自動(dòng)替換Cache,就必須非常了解它。我們看看MSDN中對(duì)該方法的詳細(xì)介紹吧。呵。

    C#

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

    用于引用該項(xiàng)的緩存鍵。

    value 類型:System.Object

    要添加到緩存的項(xiàng)。

    dependencies 類型:System.Web.Caching.CacheDependency

    該項(xiàng)的文件依賴項(xiàng)或緩存鍵依賴項(xiàng)。當(dāng)任何依賴項(xiàng)更改時(shí),該對(duì)象即無(wú)效,并從緩存中移除。如果沒(méi)有依賴項(xiàng),則此參數(shù)包含 nullNothingnullptrnull 引用(在 Visual Basic 中為 Nothing)。

    absoluteExpiration 類型:System.DateTime

    所添加對(duì)象將到期并被從緩存中移除的時(shí)間。如果使用可調(diào)到期,則 absoluteExpiration 參數(shù)必須為 NoAbsoluteExpiration。

    slidingExpiration 類型:System.TimeSpan

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

    priority 類型:System.Web.Caching.CacheItemPriority

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

    onRemoveCallback 類型:System.Web.Caching.CacheItemRemovedCallback

    在從緩存中移除對(duì)象時(shí)所調(diào)用的委托(如果提供)。當(dāng)從緩存中刪除應(yīng)用程序的對(duì)象時(shí),可使用它來(lái)通知應(yīng)用程序。

    返回值

    類型:System.Object

    備注

    如果 Cache 中已保存了具有相同 key 參數(shù)的項(xiàng),則對(duì)此方法的調(diào)用將失敗。若要使用相同的 key 參數(shù)覆蓋現(xiàn)有的 Cache 項(xiàng),請(qǐng)使用 Insert 方法。

    無(wú)法同時(shí)設(shè)置 absoluteExpiration 和 slidingExpiration 參數(shù)。如果要讓緩存項(xiàng)在特定時(shí)間到期,可將 absoluteExpiration 參數(shù)設(shè)置為特定時(shí)間,并將 slidingExpiration 參數(shù)設(shè)置為 NoSlidingExpiration。

    如果要讓緩存項(xiàng)在最后一次訪問(wèn)該項(xiàng)后的某段時(shí)間之后到期,可將 slidingExpiration 參數(shù)設(shè)置為到期間隔,并將 absoluteExpiration 參數(shù)設(shè)置為 NoAbsoluteExpiration。

     此段轉(zhuǎn)載自MSDN

    具體的怎樣添加這種緩存了,一般情況我會(huì)在母版頁(yè)中Init事件或Load事件中添加緩存,因?yàn)檫@樣可以保證引用程序從一開始執(zhí)行就可以將需要頻繁使用的對(duì)象緩存起來(lái)了。

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

    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 = "更新值" },      //對(duì)應(yīng)的值
            null,                       //緩存依賴項(xiàng)。
            DateTime.Now.AddMinutes(1),//固定緩存時(shí)間
            System.Web.Caching.Cache.NoSlidingExpiration, //可到延時(shí)緩存時(shí)間,
            System.Web.Caching.CacheItemPriority.NotRemovable, //緩存中的優(yōu)先級(jí)。
            new System.Web.Caching.CacheItemRemovedCallback(OnMoveCacheBack));//移除時(shí)調(diào)用的回調(diào)函數(shù)
    }

    參數(shù)的具體使用上一定要注意三點(diǎn),

    第一就是緩存的依賴項(xiàng)一定要指定為null。

    第二固定到期緩存時(shí)間不能和可到延時(shí)緩存時(shí)間同時(shí)指定時(shí)間,實(shí)現(xiàn)我說(shuō)的定期更換數(shù)據(jù)的,當(dāng)然就要使用固定到期緩存時(shí)間了。

    第三就是該緩存的優(yōu)先級(jí)了,這個(gè)也比較關(guān)鍵,一定要指定為System.Web.Caching.CacheItemPriority.NotRemovable枚舉值,這樣才不會(huì)被自動(dòng)收回,但是一定要注意該緩存的大小。

    聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    asp.net 使用駐留在頁(yè)面中的Cache緩存常用可定時(shí)更新的數(shù)據(jù)

    asp.net 使用駐留在頁(yè)面中的Cache緩存常用可定時(shí)更新的數(shù)據(jù):就是希望讓W(xué)eb應(yīng)用程序從一開始運(yùn)行到結(jié)束都一直存在,有人就說(shuō)為什么不用Application呢?其實(shí)Cache是可以一段時(shí)間內(nèi)自動(dòng)更新數(shù)據(jù)的,而Application就無(wú)法做成這樣的,另外Application在Web這種高并發(fā)的系統(tǒng)中一定要考慮線程安全的問(wèn)題,Applicatio
    推薦度:
    • 熱門焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 无码精品国产VA在线观看| 久久久久久国产精品免费无码| 亚洲日韩精品射精日| 国产精品免费αv视频| 国产精品高清一区二区三区不卡| 中文精品久久久久人妻不卡 | 亚洲愉拍自拍欧美精品| 久久99国内精品自在现线| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 少妇亚洲免费精品| 国内精品久久久久久久久| 中国精品videossex中国高清| 99久久免费国产精品热| 精品人妻中文字幕有码在线| 无码国产乱人伦偷精品视频| 亚洲精品无码不卡在线播放HE| 欧美激情视频精品一区二区| 国产精品v欧美精品v日韩| 亚洲午夜精品久久久久久人妖| 欧美黑人巨大精品| 在线精品国产一区二区| 中文字幕亚洲综合精品一区| 日本精品卡一卡2卡3卡四卡| 久久精品成人国产午夜| 欧美精品亚洲精品日韩专区va| 欧美成人精品一区二区三区| 日韩精品久久久久久| 伊人久久精品线影院| 98精品国产自产在线XXXX| 成人午夜精品久久久久久久小说 | 国产日韩精品中文字无码| 九九精品99久久久香蕉| 精品麻豆丝袜高跟鞋AV| 久久久精品人妻一区二区三区蜜桃| 亚洲AV无码久久精品成人 | 99久久亚洲综合精品网站| 中文字幕精品一区二区日本| 国产精品成| 精品日韩欧美国产| 久久久久亚洲精品天堂久久久久久| 精品日本一区二区三区在线观看 |