• localStorage和sessionStorage使用


    localStorage.setItem("key","value");//存数据
    localStorage.getItem("key");//取数据
    localStorage.removeItem("key");//删除数据
    localStorage.clear();​//清空数据

    sessionStorage使用用法和localStorage一样

    sessionStorage是会话缓存

    localStorage是持久缓存

    这里简单封装了一个,默认缓存7天,获取数据时判断数据是否过期

    /**
     * 设置缓存数据
     * 默认缓存一个星期
     * @param key
     * @param value
     * @param exp  缓存时间(d天数,h小时,m分钟,s秒【例:7d=7天,7h=7小时,7m=7分钟】)
     */
    function lStorage_set(key,value,exp) {
        var timestamp = new Date().getTime();
        if(typeof exp != "undefined"){
            if (endWith(exp,'d')) {
                exp = timestamp + parseInt(exp.replace('d','')) * 1000 * 60 * 60 * 24;
            } else if(endWith(exp,'h')){
                exp = timestamp + parseInt(exp.replace('h', '')) * 1000 * 60 * 60;
            } else if (endWith(exp, 'm')) {
                exp = timestamp + parseInt(exp.replace('m', '')) * 1000 * 60;
            } else if (endWith(exp, 's')) {
                exp = timestamp + parseInt(exp.replace('s', '')) * 1000;
            } else {
                exp = timestamp + exp;
            }
        }else{
    exp = timestamp + (1000 * 60 * 60 * 24 * 7);
        }
        localStorage.setItem(key, JSON.stringify({data: value, exp: exp}));
    }
    
    /**
     * 获取缓存数据
     * @param key
     * @returns {null}
     */
    function lStorage_get(key) {
        var data = localStorage.getItem(key);
        if(data == null){
            return null;
        }
        var timestamp = new Date().getTime();
        var dataObj = JSON.parse(data);
        if(timestamp < dataObj.exp){
            return dataObj.data;
        }else{
            localStorage.removeItem(key);
            return null;
        }
    }
    /**
     * 判断data结尾是否是end
     * @param data
     * @param end
     * @returns {boolean}
     */
    function endWith(data,end){
        var d = data.length - end.length;
        return (d >= 0 && data.lastIndexOf(end) == d);
    }
  • 相关阅读:
    Windows下memcache安装使用
    Linux 下memcache安装及使用
    C语言第五节scanf函数
    C语言第四节数据类型、常量、变量
    C语言第三节关键字、标识符、注释
    C语言第一节 C语言程序与开发工具
    快到而立之年了,可是能撑得起而立吗?
    idea-安装SequenceDiagram插件-生成时序图
    mysql中 查询一对多关系的时候,获取最新的一条
    判断多个时间段区间是否有重叠
  • 原文地址:https://www.cnblogs.com/rchao/p/9492561.html
Copyright © 2020-2023  润新知