js 怎么设置缓存有效时间?

作者站长头像
站长
· 阅读数 6

需求是在缓存中存放一条数据, 并且设置有效时间1分钟? 应该怎么实现?

localStorage.setItem("test", "123");

在文档中没有找到设置时间的方法https://developer.mozilla.org/zh-CN/docs/Web/API/Storage/setItem

回复
1个回答
avatar
test
2024-06-27

localStorage 是没有提供API的, 可以写一个公用的方法来进行存储的时候加上时间戳

export function setLocalStorageAndTime (key, value) {
 window.localStorage.setItem(key, JSON.stringify({ data: value, time: new Date().getTime() }))
}

cookie可以, 可以用js-cookie插件:

let seconds = 10;
let expires = new Date(new Date() * 1 + seconds * 1000);
Cookies.set('username', 'tanggaowei', { expires: expires }); // 10 秒后失效
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容