我知道,localStorage仅支持最多5MB。在我们的应用程序中,我们计划使用localStorage(sessionStorage不适合我们的需要,因为我们支持多个选项卡)。目前只有一个大的javascript对象被序列化并存储在localStorage中,将来它可能会超过15个对象,但绝对不会超过这个。
问题是,清除localStorage。由于我们的应用程序允许用户以多种方式登录(SSO等...)。因此,如果没有登陆登录页面,他们可以登录我们的应用程序,并且在其他应用程序中注销也将在我们的应用程序中签名或关闭浏览器。出于安全原因,我们需要在用户会话结束后清理localStorage。
所以我们计划将personId存储在localStorage中,每个页面请求以及我们从服务器发送personId的html响应,如果它与localStorage的personId不匹配,那么它将清除localStorage。
我的疑问是,在localStorage中搜索不是异步的,所以需要花费很多时间从15个键中搜索personId(其中有一些大字符串作为值)?
localStorage.setItem("personId", 1234);
localStorage.setItem("object1", "A very big serialized form of javascript object gets stored");
答案 0 :(得分:2)
写入值非常快,大值和短值之间没有显着差异:http://jsperf.com/local-storage-set
您也可以在此网站上测试搜索...您也可以共享搜索代码,以便其他人可以查看。