中文字幕乱偷无码av先锋蜜桃-av黄色片-久久久精品免费-97日日碰曰曰摸日日澡-欧美黑人xxxx高潮猛交-麻豆果冻传媒精品国产av-亚洲精品乱码久久久久久按摩-女人天堂一区二区三区-国产又粗又长-国产精品99久久久久人最新消息-久久婷婷五月综合色国产-亚洲成a人无码亚洲成www牛牛-香蕉伊蕉伊中文视频在线-中文字幕一二三区-国产精品无码一区二区桃花视频

旗下網(wǎng)站

百科知識庫

報(bào)道公司事件 · 傳播行業(yè)動態(tài)

處理緩存時注意避免2件事

發(fā)布日期:2015-03-07    發(fā)布者:金菊

  例如,當(dāng)您緩存數(shù)據(jù)庫中所有流派的查詢結(jié)果并使用這一數(shù)據(jù)而沒有從數(shù)據(jù)庫中獲取新數(shù)據(jù)時,可能就不會注意到其他用戶已同時在表中插入了新流派。

  緩存的另一問題是不能依賴于緩存中的項(xiàng)。為了使應(yīng)用程序最小化內(nèi)存消耗,ASP.NET中的緩存機(jī)制不時地自動從緩存中刪除舊的或是不常使用的數(shù)據(jù)。因此,不能依賴于其中的項(xiàng),即使你是在應(yīng)用程序啟動時插入它們的。

  下面將介紹如何避免這兩個問題。

  1. 避免舊數(shù)據(jù)

  為了避免出現(xiàn)與數(shù)據(jù)庫的原始數(shù)據(jù)不再同步的舊數(shù)據(jù),需要一種方法來使緩存無效。通過使緩存無效,可將數(shù)據(jù)項(xiàng)從緩存中刪除,然后可針對下一請求重新創(chuàng)建。使緩存數(shù)據(jù)無效的方法有很多。首先,可選擇設(shè)置一個短暫的緩存持續(xù)時間。例如,緩存數(shù)據(jù)庫中的Genres列表10分鐘。如果別的用戶在這10分鐘期間插入新的流派,它將不在Web頁面上顯示。不過,10分鐘后,該列表從緩存中刪除,在下一次被請求時用新的數(shù)據(jù)重新創(chuàng)建。后面將介紹如何使用基于時間的緩存。

  使緩存無效的另一種選擇是使用緩存依賴性。通過緩存依賴性,可以在緩存的項(xiàng)與原始數(shù)據(jù)源之間創(chuàng)建關(guān)系。在底層數(shù)據(jù)源改變時,緩存的項(xiàng)無效,這樣在它下次被請求時可重新創(chuàng)建。例如,您可以緩存較大文本或XML文件的內(nèi)容。可將它插入到緩存中,而不是每次需要時都讀取它。然后,將它與一個CacheDependency實(shí)例(它將監(jiān)視源文件)相掛鉤。一旦該文件發(fā)生改變,就從緩存中刪除項(xiàng),并在下次請求時重新創(chuàng)建。本章最后將介紹如何使用CacheDependency。

  在使用像Microsoft SQL Server這樣的數(shù)據(jù)庫時也可以使用緩存依賴性。這意味著,一旦緩存查詢的一部分?jǐn)?shù)據(jù)改變,緩存項(xiàng)就失效。數(shù)據(jù)庫緩存機(jī)制和失效是較寬泛的高級主題。Scott Hanselman在《ASP.NET 3.5高級編程(第5版)(已由清華大學(xué)出版社引進(jìn)并出版,ISBN 978-7-302-18119-4)一書的有關(guān)緩存的章節(jié)中談到了此內(nèi)容。

  2. 不要依賴緩存中的數(shù)據(jù)

  正如剛看到的,數(shù)據(jù)項(xiàng)可能會在應(yīng)用程序的生命周期的不同階段從緩存中刪除。它們會被緩存刪除,是因?yàn)锳SP.NET運(yùn)行庫確定它們不經(jīng)常使用,無謂地占用寶貴空間。當(dāng)Web應(yīng)用程序或Web服務(wù)器重啟時,會清除整個緩存。數(shù)據(jù)項(xiàng)也會因?yàn)樗鼈兊囊蕾囆远粍h除。因此,不要依賴于存儲在緩存中的項(xiàng),即使在應(yīng)用程序生命周期的初期放入了這些數(shù)據(jù)。

  本章的后面將介紹如何通過Cache API(Application Programming Interface,應(yīng)用編程接口;可與Cache功能交互的方法)以編程形式使用緩存,不過這里有一個從緩存中檢索Review實(shí)例的快速示例。該代碼沒有假定其中有數(shù)據(jù)項(xiàng),而是首先檢查緩存:

  VB.NET

  Dim reviewId As Integer = Convert.ToInt32(Request.QueryString.Get

  ("ReviewId"))

  Dim myReview As Review

  If Cache("MyReview" + reviewId.ToString()) Is Nothing Then

  Using db As New PlanetWroxDataContext()

  myReview = (From r In db.Reviews _

  Where r.Id = reviewId _

  choose r).Single()

  End Using

  Cache("MyReview" + reviewId.ToString()) = myReview

  End If

  myReview = CType(Cache("MyReview" + reviewId.ToString()), Review)

  C#

  int reviewId = Convert.ToInt32(Request.QueryString.Get("ReviewId"));

  Review myReview;

  if (Cache["MyReview" + reviewId.ToString()] == null)

  {

  using (PlanetWroxDataContext db = new PlanetWroxDataContext())

  {

  myReview = (from r in db.Reviews

  where r.Id == reviewId

  choose r).Single();

  }

  Cache["MyReview" + reviewId.ToString()] = myReview;

  }

  myReview = (Review) Cache["MyReview" + reviewId.ToString()];

  在這個代碼段中,通過鍵(這是靜態(tài)文字MyReview和被搜索的Review的ID的組合)在緩存中搜索數(shù)據(jù)項(xiàng)。如果緩存是空的(搜索返回Nothing或null),就使用LINQ查詢創(chuàng)建數(shù)據(jù)項(xiàng),然后存儲在緩存中。

  這是個很好的不依賴緩存中的項(xiàng)的示例代碼。它檢查緩存,如果其中不存在數(shù)據(jù)項(xiàng)就先進(jìn)行創(chuàng)建。本章后面將介紹更多的有關(guān)以編程方式訪問緩存的內(nèi)容。

  使用緩存API并不是使用緩存的唯一方法。下一節(jié)將介紹在ASP.NET中緩存數(shù)據(jù)的不同方法。

Copyright 大連網(wǎng)龍科技 版權(quán)所有 遼ICP備14006349號  html - txt - xml

遼公網(wǎng)安備 21021702000140號

電話
客服
主站蜘蛛池模板: 日韩精品一区二区三区在线视频| 丝袜黄色片| 三级精品在线| 午夜性色福利影院| 亚洲国产精品视频在线观看| 国内偷拍网站| 在线观看av资源| 91麻豆免费视频| www.久操| 精品探花| gogo人体做爰大胆视频| 999一区| 第一福利官方导航大全 | 少妇呻吟视频| 在线观看日韩中文字幕| 日韩女优网站| 超碰个人| 狠狠干在线| 色婷婷免费观看| 日日躁夜夜躁aaaabbbb| 91免费官网| 国产在线播| 大波大乳videos护士| 天天综合天天做天天综合| 91老师国产黑色丝袜在线| 91禁在线看| 国产在线视频福利| 91小宝寻花一区二区三区| a级片在线观看视频| 东方av在线免费观看| 国产精品一级二级三级| 国产超碰在线| 国产精品骚| 三妻四妾完整版免费观看| 99精品小视频| 日本精品视频一区二区| 国产精品中文| 成年人深夜小视频| 一级片aaaa| 国产黄色片av| 欧美福利视频导航| 天天爱天天爽| 国产高清一区| 国产精品国产a| 五月天天堂| 天天干天天天| 网站毛片| 国产精品亚洲自拍| 成人刺激视频| 日韩欧美不卡视频| 男人天堂最新网址| 久久99精品久久久久久国产越南| 欧美激情片一区二区| 少妇人妻无码专区视频| aa视频在线| 欧美激情免费视频| 欧美人与动物xxx| 日韩精品一区二区三区无码专区| 少妇av免费| 超碰在线免费97| 69婷婷国产精品入口| 一区二区三区成人| 毛片美国| 少妇自摸视频| 欧美日韩图片| 久久噜| 精品免费久久久| 蜜桃久久av| 尤物国产在线| 午夜大片| 国产美女无遮挡永久免费| 91高清在线视频| 调教小屁屁白丝丨vk| 热久久久久| 韩国三级色| 少妇被猛烈进入| 一级真人毛片| 久久久久资源| 久操亚洲| 狠狠操在线观看| 国产探花一区二区三区| 国产夫妻一区二区| 深夜福利老司机| 毛色毛片| 污视频免费在线观看网站| 大黄网站在线观看| 在线h网站| 亚洲视频区| 狠狠操精品| 国产资源网站| 国产经典av| 2024毛片| 体育生被揉捏裆部呻吟视频| 亚洲日本天堂| 久久伦理网| 天天综合网天天综合色| 男人疯狂桶爽女人出白浆| 国产精品久久久久久妇女| 精品国产无码在线观看|