html5 的 localStorage 用于存储一些临时的离线数据,当超过一定时间后,我希望清除这些数据防止爆仓,有什么好方法吗?
使用locache这个是localStorage的插件可以使用它定义的接口设置过期时间
localStorage本身不带时效的,你可以自己存储一个cache time然后判断一下就好了。
localStorage本身不带时效的。
为此我build了一个项目扩展了localStorage。可以实现设置失效时间:https://github.com/WQTeam/web-storage-cache
localStorage 是持久化的存储,不是缓存级别的,和sqllite一样,所以也就不存在什么超时时间的概念。只能手动清除,可以自己写一些业务逻辑去判断在什么时机清除
html5 的 localStorage 用于存储一些临时的离线数据
localStorage 和 file、database 一样,是存储,有永久性质。
你存入数据库的数据,不会在某一天突然被删除了。
你保存到硬盘里面的文件,也不会再某一天突然消失了。
所以,localStorage 本身没有时效性,因为 storage 毕竟不是 ceche。
因此,只能用 js 手动清除了。
那么现在问题来了,js 是客户端脚本,也就是说,只有用户在浏览这个网页的时候,才可能运行 js 脚本来清除,如果用户不再访问本网站,那怎么清除呢?
没有办法清除。
if (+new Date() > +new Date(2014, 11, 30)) {
localStorage.removeItem("c"); //清除c的值
// or localStorage.clear();
}
不过有一点,请不要用localStorage保存机密数据,即便你已加密,也不安全哟~