localstorage和sessionStorage,使用localstrong缓存到本地,获取本地缓存大小

Web Storage是HTML5提出的本地存储机制,主要目的是克服cookie的一些限制,当数据需要被严格控制在客户端上时,无需持续的将数据发回服务器。

sessionStorage 用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。
localStorage 用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去删除。

localStorage 与 sessionStorage 的唯一一点区别就是 localStorage 属于永久性存储,而 sessionStorage 属于当会话结束的时候,sessionStorage 中的键值对会被清空。
获取localStorage的大小。

  let loc = window.localStorage;
    var size;
    console.log("这里直接打印即可看见大小", loc);
    for (const key in loc) {
      if (loc.hasOwnProperty.call(loc, key)) {
        size = loc[key].length / 1024;
        console.log("==========", loc[key].length / 1024, size > 10);
      }
    }

打印的值

使用localstrong缓存到本地,并实时更新

created 页面初始化判断是否存在此key ‘trtcRecord’

    try {
    let tableDatas=JSON.parse(localStorage.getItem('trtcRecord'));
        that.pagesTotal=tableDatas.length;
        that.tableDatas=tableDatas.slice(0,5);
    } catch (error) {
       let trtcRecord = [];
      localStorage.setItem("trtcRecord", JSON.stringify(trtcRecord));
    }

mounted 里面监听变化

 var that=this;
        // 本地存储变化更新视图层的数据
       //根据自己需要来监听对应的key
        window.addEventListener("setItemEvent",function(e){
           let loc = window.localStorage;
            // console.log("这里直接打印即可看见大小", loc);
            for (const key in loc) {
              // 本地存储设置最多2M
              // console.log('当前已用存储:' + (loc['trtcRecord'].length / 1024).toFixed(2) + 'KB');
              let localSize=loc['trtcRecord'].length/1024
              if(localSize>2*1024){
                that.$message.warning('本地存储上限,将清空部分通话缓存');
                let data=that.tableDatas.splice(0,50);
                that.pagesTotal=data.length;
                window.localStorage.setItem('trtcRecord',JSON.stringify(data));
                // that.$route.replace('/');
              }
            }
        })
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

博客园实习巡查员(工号95270)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值