浏览器存储方式这么多,可我以前却独宠Local Storage一人,但是了解到IndexedDB的时候,我觉得我要变心了,我果然不是一个专一的人????(?)参考其它资料对几种数据存储的分析,我自己给自己做个总结。
浏览器的存储方式有这些:
首先结合网上资料对几种存储方式做个分析。
Local Storage
localStorage(本地存储)是HTML5的的WebStorage提供了两种API中的一种,另外一种是sessionStorage(会话存储)。
localStorage将数据保存在客户端本地的硬件设备(通常指硬盘,也可以是其他硬件设备)中,localStorage的存储周期是永久的,除非localStorage主动删除数据,否则数据永远不会消失。但是值得注意的一点是从iOS 5.1之后,移动端的Safari将localStorage数据存储在cache文件中,在操作系统的要求下,会偶尔进行清除,特别是空间不足时。
localStorage的大小在2.5MB到10MB之间(各家浏览器不同,一般是5MB左右)。
localStorage和sessionStorage保存在客户端,不与服务器进行交互通信。
localStorage和sessionStorage只能存储字符串类型,对于复杂的对象可以使用ECMAScript提供的JSON对象的stringify和parse来处理,localStorage的读写是同步的。
localStoragese:常用于长期登录(+判断用户是否已登录),适合长期保存在本地的数据
Session Storage
sessionStorage(会话存储),sessionStorage将数据保存在session对象中所以 sessionStorage的生命周期是在仅在当前会话下有效。sessionStorage引入了一个“浏览器窗口”的概念,sessionStorage是在同源的窗口中始终存在的数据。只要这个浏览器窗口没有关闭,即使刷新页面或者进入同