第1期 localstorage 存满了怎么办

3,418 阅读1分钟

背景

开发中需要进场使用localstorage进行一些数据存储,但是localstorage的存储空间有限,就会提示错误。

为localstorage设置过期时间

我们可以封装一下localstorage,在我们设置的时间再添加一个过期参数,可以将过期参数和value值设置成为一对象,如下。

localstorage.setItem('test','1');
key:test   value:1
// 封装后使用方式 这里60一般用时间戳表示 方便计算 这里不具体计算
storage.set('test','1',60);
key:test   value:{value:1,expired:60}

惰性删除

有了过期时间就好处理了,可以在每一次get的时候判断是否过期,过期就删除,但是可能有一些永远也不会用到,就永远不会删除。所以也可以采用刷新就删除。

刷新删除

每次刷新进入页面就调用一次删除过期localstorage的函数。可能会执行多余的代码。

其他方案

其实也可以通过一些其他的方案实行,例如单页,例如通过url带入等方式实现目的。