前端实现设置缓存数据定时失效
栏目: JavaScript · 发布时间: 6年前
内容简介:在项目开发中,我们可以写一个公用的方法来进行存储的时候加上时间戳存储读取
在项目开发中,我们可以写一个公用的方法来进行存储的时候加上时间戳
export function setLocalStorageAndTime (key, value) {
window.localStorage.setItem(key, JSON.stringify({ data: value, time: new Date().getTime() }))
}
复制代码
项目中应用
存储
// 有数据再进行存储
setLocalStorageAndTime('XXX', {name: 'XXX'})
复制代码
读取
// 判断是否返回为null或者失效
getLocalStorageAndTime('XXX', 86400000)
复制代码
2、获取数据时与当前时间进行比较
export function getLocalStorageAndTime (key, exp = 86400000) {
// 获取数据
let data = window.localStorage.getItem(key)
if (!data) return null
let dataObj = JSON.parse(data)
// 与过期时间比较
if (new Date().getTime() - dataObj.time > exp) {
// 过期删除返回null
removeLocalStorage(key)
console.log('信息已过期')
return null
} else {
return dataObj.data
}
}
复制代码
利用cookie实现
我们用js-cookie这款插件来设置cookie,比较方便,可以自行查看文档。 js-cookie 的示例中只有以天为单位的有效期:
Cookies.set('name', 'value', { expires: 7 }); // 7 天后失效
官方文档只要设置天数,没有时分秒,这样我们想设置更小单位的时候无法下手,其实也可以设置时间戳来处理时间的,下面这种方式可以设置任意单位的有效期:
let seconds = 10;
let expires = new Date(new Date() * 1 + seconds * 1000);
Cookies.set('username', 'tanggaowei', { expires: expires }); // 10 秒后失效
复制代码
贴上利用js-cookie的封装, 记得 npm i js-cookie
import Cookies from 'js-cookie'
/*
* 设置cookies
* */
export function getCookies (key) {
return Cookies.get(key)
}
/*
* 设置Cookies
* */
export function setCookies (key, value, expiresTime) {
let seconds = expiresTime
let expires = new Date(new Date() * 1 + seconds * 1000)
return Cookies.set(key, value, { expires: expires })
}
/*
* 移除Cookies
* */
export function removeCookies (key) {
return Cookies.remove(key)
}
复制代码
三、总结
上面两个方法各有各的优点和缺点,如果小伙伴们有更好方法,麻烦留言互相学习
以上所述就是小编给大家介绍的《前端实现设置缓存数据定时失效》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 行间距失效问题
- 5分钟探究Spring事务失效原因
- Andorid内Aspectj切面失效分析
- Xcode 代码提示失效以及引发的感想
- Firefox 已发布“插件失效”证书修复补丁
- STL 的 erase() 陷阱-迭代器失效总结
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Web性能权威指南
Ilya Grigorik / 李松峰 / 人民邮电出版社 / 2013-9 / 69
本书是谷歌公司高性能团队核心成员的权威之作,堪称实战经验与规范解读完美结合的产物。本书目标是涵盖Web 开发者技术体系中应该掌握的所有网络及性能优化知识。全书以性能优化为主线,从TCP、UDP 和TLS 协议讲起,解释了如何针对这几种协议和基础设施来优化应用。然后深入探讨了无线和移动网络的工作机制。最后,揭示了HTTP 协议的底层细节,同时详细介绍了HTTP 2.0、 XHR、SSE、WebSoc......一起来看看 《Web性能权威指南》 这本书的介绍吧!