研究快取機制

2021-04-12 13:54:51 字數 1451 閱讀 1182

asp.netforums中使用了兩級快取來處理乙個使用者在不同版面上的許可權,第一級使用httpruntime.cache,可是使用者在不同的請求中從執行時提供的快取機制中提高效率,第二級是httpcontext.current,它是建立在第一級快取之上,用於使用者在同乙個請求期間的快取,這個快取在使用者請求一次結束後就不存在了,第一級快取則可存在乙個定義的時間內,但是這個時間是硬編碼的,我們可以根據需在web.config中定義這個時間。

也就是說 httpruntime.cache是全域性性的,而httpcontext.current.cache是針對具體使用者的請求而言的

兩者的使用範圍是不同的。看globals.cs 檔案.

首先先看看msdn上對httpcontexthttpruntime的定義,

httpcontext:   封裝有關個別 超文字傳輸協議 請求的所有 超文字傳輸協議 特定的資訊。

httpruntime:  為當前應用程式提供一組 asp.net 執行時服務

從定義看乙個是針對乙個特定的請求的,乙個是對應整個asp.net應用程式而言.再看看httpcontext.cache物件和httpruntime.cache物件的定義:

httpcontext.cache:獲取當前應用程式的 cache。

httpruntime.cache:為當前 超文字傳輸協議 請求獲取 cache 物件。

這裡獲取的cache會不會乙個是針對個人,乙個是針對應用程式的呢? 實際情況不是的,無論是httpcontext.cache 還是 httpruntime.cache實際上呼叫的都是同乙個cache物件.其實從msdn中對system.web.caching.cache的說明也可以看出"對於每個應用程式域均建立該類的乙個例項,並且只要對應的應用程式域保持活動,該例項便保持有效。",從"應用程式域"這裡我們似乎可以猜測可能httpcontext.cache僅僅就是呼叫了httpruntime.cache而已,而且這樣可以保持httpcontext.cache和httpruntime.cache的一致性.檢視一下httpcontext.cache 和 httpruntime.cache的實現**(如下):

這裡可以清楚的看到, httpcontext.cache 和 httpruntime.cache 實際上呼叫的是同乙個cache了.

IOS 開發快取機制 記憶體快取機制

使用快取的目的是為了使用的應用程式能更快速的響應使用者輸入,是程式高效的執行。有時候我們需要將遠端 web伺服器獲取的資料快取起來,減少對同乙個 url多次請求。記憶體快取我們可以使用 sdk中的 nsurlcache類。nsurlrequest需要乙個快取引數來說明它請求的 url何如快取資料的,...

Hyperic HQ portal機制研究

1 簡介 portal是一種web應用,通常用來提供個性化 單次登入 聚集各個資訊源的內容,並作為資訊系統表現層的宿主。聚集是指將來自各個資訊源的內容整合到乙個web頁面裡的活動。2.1.1 portal類 portlet的容器,封裝了頁面名稱 portlet顯示列數 portlet集合以及工作流w...

快取機制 全棧快取

1.配置檔案 cache middleware seconds 20 設定超時時間20秒 第一行和最後一行,位置不能放錯,只能放第一,和最後一行,又報錯是 modulenotfounderror no module named django.middleware.cache.updatecachem...