解决localstorage容量大导致页面加载变慢

16 篇文章 0 订阅
3 篇文章 0 订阅

本人是通过实践完成的这篇。这篇文章仅仅是引导性文章。

项目场景:

提示:性能优化之localstorage的大容量导致加载变慢:
例如:我负责一个项目,原先的数百条数据是存储在localstorage里面,但是localstorage容量标准是5MB


问题描述:

问题:我负责的项目localstorage存储的数据量太大,高达200+条。而且每条数据很长,所以每次页面加载/更新慢的让人受不了


原因分析:

原因:localstorage容量标准是5MB,我负责的项目原先的存储在localstorage的数据量太大,导致性能低下

解决方案:

我的解决方案是:
之前是通过localstorage.setitem(value),获取的时候是通过getitem()获取数据。
我现在的解决方法是定义一个全局函数,通过接口返回数据。在全局写一个全局函数,然后返回数据,获取数据的时候调用全局函数,把整个项目的这部分进行重构也是一个简单的事情了。

关于代码就不能放了。思路知道其实就好了。

测试:

  • 比如在原先的基础上再增加一倍,两倍,三倍的数据,你看下加载时间。
  • 计算localstorage的容量:
  let size = 0
  for(item in window.localStorage) {
        if(window.localStorage.hasOwnProperty(item)) {
            size += window.localStorage.getItem(item).length;
        }
    }
    console.log(size / 1024)
  • 20
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 51
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值