localStorage和SessionStorage,Application,Cache快取

綠龍術士發表於2018-05-08

· LocalStorage和SessionStorage

· HTML5 提供了兩種在客戶端儲存資料的新方法:

· localStorage - 沒有時間限制的資料儲存

· sessionStorage - 針對一個 session 的資料儲存

  • 之前,這些都是由 cookie 完成的。但是 cookie 不適合大量資料的儲存,因為它們由每個對伺服器的請求來傳遞,這使得 cookie 速度很慢而且效率也不高。
  • 要訪問同一個LocalStorage頁面必須來自同一個域名(子域名無效),使用同一種協議,在同一個埠上。
  • 在 HTML5 中,資料不是由每個伺服器請求傳遞的,而是隻有在請求時使用資料。它使在不影響網站效能的情況下儲存大量資料成為可能。
  • 限制
  • 對於localStorage而言,大多數瀏覽器會有5MB的限制
  • SessionStorage有的瀏覽器沒有限制,有的有2.5MB5MB的限制

· 參考網址:

· http://www.w3school.com.cn/html5/html_5_webstorage.asp

· 

· Application

· Application相當於應用程式的“全域性變數”,如圖所示:

· 

· 在這張圖中,Web伺服器中執行的Web應用程式就是我們所說的Application,每個客戶端與Web伺服器之間建立的連線就可以看做是一個Session。比如現在伺服器端執行的是一個論壇系統,那麼現在這個正執行在伺服器端的論壇系統的軟體就可以看做Application,而每個線上的使用者與之建立的連線就相當於一個Session。

· 如果要使用Application要注意的是所有的寫操作都要在Application_OnStart事件中完成(global.Asax),儘管可以使用Application.Lock()避免了衝突,但是它序列化了對Application的請求,會產生嚴重的效能瓶頸

· 參考網址:

· https://blog.csdn.net/lxlj2006/article/details/5608281

· https://www.cnblogs.com/Arlar/p/5934651.html

·  

· Cache

· 在.NET運用中經常用到快取(Cache)物件。有HttpContext.Current.Cache以及HttpRuntime.Cache,HttpRuntime.Cache是應用程式級別的,而HttpContext.Current.Cache是針對當前WEB上下文定義的。HttpRuntime下的除了WEB中可以使用外,非WEB程式也可以使用

· 在可以的條件,儘量用 HttpRuntime.Cache ,而不是HttpContext.Cache

相關文章