我必须使用会话存储还是本地存储:javascript AWS

我必须使用会话存储还是本地存储:javascript AWS,javascript,amazon-web-services,session,local-storage,Javascript,Amazon Web Services,Session,Local Storage,我有下面的情景 第1页有一个链接,当用户单击它时,它将通过页面重新加载导航到门户页面。因此,在导航之前,会创建一个JSON对象 该对象的大小大约为4KB 样本对象 let obj = { "date":"12/31/2018", "year":"2019", "zip":"93252", "members":[ { "sdf":true, "age":21, "fdssss":false, "

我有下面的情景

第1页有一个链接,当用户单击它时,它将通过页面重新加载导航到门户页面。因此,在导航之前,会创建一个JSON对象

该对象的大小大约为4KB

样本对象

let obj = {
    "date":"12/31/2018",
    "year":"2019",
    "zip":"93252",
    "members":[
    {
        "sdf":true,
        "age":21,
        "fdssss":false,
        "aaaa":false,
        "fdss":null,
        "fsdfsd":[
            "ADULT"
        ]
    },
    {
        "sdf":true,
        "age":21,
        "fdssss":false,
        "aaaa":false,
        "fdss":null,
        "fsdfsd":[
            "ADULT"
        ]
    }
}
该门户页面上有一个反向链接,单击后,页面将导航回页面1,并重新加载页面

因此,当页面导航回来时,我需要再次返回创建的JSON对象。我只需要在那个会话中使用它,否则即使页面被重新加载,数据也应该是持久的

  • 我必须使用
    localStorage
    ?如果我将对象存储在
    localStorage
    中,我应该在什么时候清除存储?我应该如何处理不同用户之间的关系
  • 我必须使用会话存储吗?数据可用性的范围是什么
  • 我正在使用AWS服务。

    Q1:
    您可以使用
    localStorage
    ,当加载第一页时,您应该在代码处处理它,当用户注销或登录时,您可以删除它,存储是关于浏览器而不是用户的,如果在不同时间有一些用户在一台计算机后面,您必须手动清除所有数据

    Q2:
    您还可以在每个选项卡上设置
    会话存储
    ,并通过关闭浏览器将其删除

    详细信息:

    这取决于您的场景,即长时间使用
    localStorage
    ,但需要存储临时内容时使用
    sessionStorage

    但是
    sessionStorage
    的重要一点是,如果您关闭选项卡并打开窗口,
    sessionStorage
    将完全删除,它将用于用户名和密码等关键数据,而
    localStorage
    则用于在整个浏览器中共享数据

    localStorage
    没有过期日期,它只能通过代码或清除浏览器缓存或本地存储的数据来清除,而
    sessionStorage
    对象只存储会话的数据,这意味着在关闭浏览器(或选项卡)之前存储数据

    最后,我建议您使用
    localStorage
    ,因为您可能希望在关闭浏览器后在整个浏览器事件中共享该数据,并且您可以存储更多数据,另一方面,这些数据也有限制,当您使用存储时,您应该手动处理并小心

    假设:

    function removeStorage()
    {
       var obj = localStorage.getItem('obj');
       if(obj !== null)
           localStorage.removeItem('obj') 
    } 
    
    在登录或注销成功操作调用
    removeStorage()
    和第1页加载中,有如下内容:

    var obj = localStorage.getItem('obj');
    if(obj !== null)
    {
       ....
       //show the obj in label or do what you want with it 
       ...
    }
    

    @我正在使用AWS。在我的场景中,使用
    SessionStorage
    LocalStorage
    好吗?SessionStorage似乎足够您使用了。