html5 的 localStorage 可否设置数据的时效时间?
html5 的 localStorage 用于存储一些临时的离线数据,当超过一定时间后,我希望清除这些数据防止爆仓,有什么好方法吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
html5 的 localStorage 用于存储一些临时的离线数据,当超过一定时间后,我希望清除这些数据防止爆仓,有什么好方法吗?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(7)
不过有一点,请不要用localStorage保存机密数据,即便你已加密,也不安全哟~
localStorage本身不带时效的,你可以自己存储一个cache time然后判断一下就好了。
localStorage 和 file、database 一样,是存储,有永久性质。
你存入数据库的数据,不会在某一天突然被删除了。
你保存到硬盘里面的文件,也不会再某一天突然消失了。
所以,localStorage 本身没有时效性,因为 storage 毕竟不是 ceche。
因此,只能用 js 手动清除了。
那么现在问题来了,js 是客户端脚本,也就是说,只有用户在浏览这个网页的时候,才可能运行 js 脚本来清除,如果用户不再访问本网站,那怎么清除呢?
没有办法清除。
localStorage 是持久化的存储,不是缓存级别的,和sqllite一样,所以也就不存在什么超时时间的概念。只能手动清除,可以自己写一些业务逻辑去判断在什么时机清除
localStorage本身不带时效的。
为此我build了一个项目扩展了localStorage。可以实现设置失效时间:https://github.com/WQTeam/web-storage-cache
使用locache这个是localStorage的插件可以使用它定义的接口设置过期时间
em 好像无法解决题主的爆仓问题,只能实现时效功能,还是贴在这里做个参考吧
简单一点写两个方法就好了