javascript - localstorage - sessionstorage




HTML5本地存储与会话存储 (7)

Ya会话存储和本地存储在行为上是相同的,除非本地存储将一直存储数据,除非用户删除缓存和Cookie,并且会话存储数据将保留在系统中,直到我们关闭会话为止,直到我们关闭会话存储创建窗口。

除了非持久性和仅限于当前窗口的范围之外,是否有任何优势(性能,数据访问等)通过本地存储进行会话存储?


sessionStorage与localStorage相同,只是它只存储一个会话的数据,当用户关闭创建它的浏览器窗口时它将被删除


localStoragesessionStorage都扩展了Storage 。 除了sessionStorage的预期“非持久性”以外,它们之间没有区别。

也就是说,存储在localStorage的数据会一直存在,直到被明确删除。 所做的更改将保存并可用于当前和未来对该网站的所有访问。

对于sessionStorage ,更改仅适用于每个窗口(或Chrome和Firefox等浏览器中的选项卡)。 所做的更改已保存并可用于当前页面,以及将来在同一窗口中访问该网站。 窗口关闭后,存储被删除。


本地存储可以存储高达10mb的离线数据(在chrome 10 mb中,在其他浏览器中为5 mb),而会话存储可以存储高达5 mb的数据。 但Cookie可以只存储4kb的文本数据。 在此处查看更多详情


唯一的区别是localStorage具有不同的到期时间, sessionStorage只能在创建它的窗口打开时访问。
localStorage一直持续到你删除它或用户删除它。
假设您想保存一个登录用户名和密码,出于安全原因(例如,另一个人以后访问他们的帐户),您希望使用sessionStorage over localStorage
但是如果你想在用户的机器上保存用户的设置,你可能需要localStorage 。 总而言之:

localStorage - 用于长期使用。
sessionStorage - 当你需要存储变化或暂时的sessionStorage使用


在我看来,会话存储在本地存储上的优势在于,它在Firefox中具有无限容量 ,并且不会持续比会话更长的时间。 (当然这取决于你的目标是什么。)


性能方面,我的(原油)测量结果发现1000次写入和读取没有差异

安全明智,直观地看起来localStore可能会在sessionStore之前关闭,但没有具体的证据 - 也许别人呢?

功能方面,与上面的digitalFresh一致





session-storage