localStorage和SessionStorage,Application,Cache缓存
· LocalStorage和SessionStorage
· HTML5 提供了两种在客户端存储数据的新方法:
· localStorage - 没有时间限制的数据存储
· sessionStorage - 针对一个 session 的数据存储
- 之前,这些都是由 cookie 完成的。但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不高。
- 要访问同一个LocalStorage,页面必须来自同一个域名(子域名无效),使用同一种协议,在同一个端口上。
- 在 HTML5 中,数据不是由每个服务器请求传递的,而是只有在请求时使用数据。它使在不影响网站性能的情况下存储大量数据成为可能。
- 限制
- 对于localStorage而言,大多数浏览器会有5MB的限制
- SessionStorage有的浏览器没有限制,有的有2.5MB和5MB的限制
· 参考网址:
· 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.****.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