JavaScript缓存处理代码
/**
* @function 设置缓存信息
*/
function setCache(key, value, expire, timestamp) {
//默认缓存时间30天
expire = expire || 30 * 24 * 60 * 60 * 1000;
//设置存入时间
timestamp = timestamp || new Date().getTime();
//如果value为空,则new一个对象
if (typeof value == 'undefined' || value == '' || value == null) {
value = {};
}
//设置缓存时间信息
value['expire'] = expire;
value['timestamp'] = timestamp;
//将缓存数据存入localStorage
localStorage.setItem(key, JSON.stringify(value));
}
/**
* @function 获取缓存信息
*/
function getCache(key, value, expire, timestamp) {
//获取当前时间戳
var currentTime = new Date().getTime();
//获取缓存时间
value = localStorage.getItem(key);
//如果value为空,则new一个对象
if (typeof value == 'undefined' || value == '' || value == null) {
return '';
} else {
value = JSON.parse(value);
}
//获取过期时间
expire = value['expire'] || 30 * 24 * 60 * 60 * 1000;
//获取存入时间
timestamp = value['timestamp'] || new Date().getTime();
//比较,存入时间当前时间的时间差 与 缓存时间
var flag = expire > currentTime - timestamp;
//返回缓存信息
if (flag) {
//返回缓存信息
return value;
} else {
//缓存信息超时
localStorage.removeItem(key);
return '';
}
}
转载:https://blog.csdn.net/Aria_Miazzy/article/details/101701444
查看评论