localStorage和SessionStorage,Application,Cache缓存

· 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相当于应用程序的“全局变量”,如图所示:

· localStorage和SessionStorage,Application,Cache缓存

· 在这张图中,Web服务器中运行的Web应用程序就是我们所说的Application,每个客户端与Web服务器之间建立的连接就可以看做是一个Session。比如现在服务器端运行的是一个论坛系统,那么现在这个正运行在服务器端的论坛系统的软件就可以看做Application,而每个在线的用户与之建立的连接就相当于一个Session。

· 如果要使用Application要注意的是所有的写操作都要在Application_OnStart事件中完成(global.Asax),尽管可以使用Application.Lock()避免了冲突,但是它串行化了对Application的请求,会产生严重的性能瓶颈

· 参考网址:

· https://blog.****.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