小言_互联网的博客

JavaScript缓存处理代码

299人阅读  评论(0)

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
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场