国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

asp.net 2.0 緩存(理論篇)

2024-07-10 13:09:20
字體:
供稿:網(wǎng)友

    asp.net 2.0提供了一些新的用于提升程序性能的技術(shù)特性,其中,緩存技術(shù)是非常重要的一個特性,它提供了一種非常好的本地數(shù)據(jù)緩存機制,可以非常容易的定制屬于數(shù)據(jù)緩從,從而有效的提高數(shù)據(jù)訪問的性能。

  緩存有一個不太容易克服的缺點,那就是數(shù)據(jù)過期的問題。最典型的情況是,如果將數(shù)據(jù)庫表中的數(shù)據(jù)內(nèi)容緩存到服務(wù)器內(nèi)存中,當數(shù)據(jù)庫表中的記錄發(fā)生更改時,web應用程序則很可能顯示過期的、不準確的數(shù)據(jù)。對于某些類型的數(shù)據(jù),即使顯示的信息過期,影響也不會很大。然而,對于實時性要求比較嚴格的數(shù)據(jù),例如,股票價格、拍賣出價之類信息,顯示的數(shù)據(jù)稍有過期都是不可接受的。

      asp.net 2.0支持以下幾種緩存

  頁面輸出緩存

  頁面輸出緩存是最為簡單的緩存機制,該機制將整個asp.net頁面內(nèi)容保存在服務(wù)器內(nèi)存中。當用戶請求該頁面時,系統(tǒng)從內(nèi)存中輸出相關(guān)數(shù)據(jù),直到緩存數(shù)據(jù)過期。在這個過程中,緩存內(nèi)容直接發(fā)送給用戶,而不必再次經(jīng)過頁面處理生命周期。通常情況下,頁面輸出緩存對于那些包含不需要經(jīng)常修改內(nèi)容的,但需要大量處理才能編譯完成的頁面特別有用。需要讀者注意的是,頁面輸出緩存是將頁面全部內(nèi)容都保存在內(nèi)存中,并用于完成客戶端請求。

  頁面部分緩存

  頁面部分緩存是指輸出緩存頁面的某些部分,而不是緩存整個頁面內(nèi)容。實現(xiàn)頁面部分緩存有兩種機制:一種是將頁面中需要緩存的部分置于用戶控件(.ascx文件)中,并且為用戶控件設(shè)置緩存功能(包含用戶控件的頁面可設(shè)置也可不設(shè)置緩存)。這就是通常所說的“控件緩存”。設(shè)置控件緩存的實質(zhì)是對用戶控件進行緩存配置。主要包括以下3種方法:一是使用@ outputcache指令以聲明方式為用戶控件設(shè)置緩存功能,二是在代碼隱藏文件中使用partialcachingattribute類設(shè)置用戶控件緩存;三是使用controlcachepolicy類以編程方式指定用戶控件緩存設(shè)置。另外,還有一種稱為“緩存后替換”的方法。該方法與控件緩存正好相反,將頁面中的某一部分設(shè)置為不緩存,因此,盡管緩存了整個頁面,但是當再次請求該頁時,將重新處理那些沒有設(shè)置為緩存的內(nèi)容。

  應用程序數(shù)據(jù)緩存

  應用程序數(shù)據(jù)緩存提供了一種編程方式,可通過鍵/值對將任意數(shù)據(jù)存儲在內(nèi)存中。使用應用程序緩存與使用應用程序狀態(tài)類似。但是,與應用程序狀態(tài)不同的是,應用程序數(shù)據(jù)緩存中的數(shù)據(jù)是易失的,即數(shù)據(jù)并不是在整個應用程序生命周期中都存儲在內(nèi)存中。應用程序數(shù)據(jù)緩存的優(yōu)點是由asp.net管理緩存,它會在項過期、無效,或內(nèi)存不足時移除緩存中的項,還可以配置應用程序緩存,以便在移除項時通知應用程序。

  緩存依賴

  net 2.0引入的自定義緩存依賴項,特別是基于ms-sql server的sqlcachedependency特性,使得我們可以避免“數(shù)據(jù)過期”的問題,它能夠根據(jù)數(shù)據(jù)庫中相應數(shù)據(jù)的變化,通知緩存,并移除那些過期的數(shù)據(jù)緩存功能也有其自身的不足。例如,顯示的內(nèi)容可能不是最新、最準確的,為此,必須設(shè)置合適的緩存策略。又如,緩存增加了系統(tǒng)的復雜性并使其難于測試和調(diào)試,因此建議在沒有緩存的情況下開發(fā)和測試應用程序,然后在性能優(yōu)化階段啟用緩存選項。

  • 網(wǎng)站運營seo文章大全
  • 提供全面的站長運營經(jīng)驗及seo技術(shù)!
  • 發(fā)表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發(fā)表
    主站蜘蛛池模板: 阿勒泰市| 光泽县| 犍为县| 会同县| 吐鲁番市| 台中县| 正安县| 木里| 永吉县| 桐庐县| 格尔木市| 临泉县| 全南县| 徐州市| 温州市| 乌海市| 贡山| 宁津县| 西林县| 新津县| 凤凰县| 英吉沙县| 永寿县| 武宣县| 朝阳区| 寿宁县| 加查县| 昆山市| 龙游县| 巩义市| 博爱县| 仁布县| 合山市| 汪清县| 鱼台县| 盐城市| 芦山县| 原平市| 济源市| 谷城县| 会理县|