我知道,localStorage 最多只支持 5MB。在我们的应用程序中,我们计划使用 localStorage(sessionStorage 不适合我们的需要,因为我们支持多个选项卡)。目前只有一个大的 javascript 对象被序列化并存储在 localStorage 中,未来可能会超过 15 个,但绝对不会超过。
问题是,清除本地存储。由于我们的应用程序允许用户以多种方式登录(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");