基于localStorage开发的前端缓存jquery插件,jquery.cache.js
来源:互联网 发布:tfband知乎 编辑:程序博客网 时间:2024/06/03 13:40
什么是localStorage?
在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的是5M大小,这个在不同的浏览器中localStorage会有所不同
localStorage的优势
1、localStorage拓展了cookie的4K限制
2、localStorage会可以将第一次请求的数据直接存储到本地,这个相当于一个5M大小的针对于前端页面的数据库,相比于cookie可以节约带宽,但是这个却是只有在高版本的浏览器中才支持的
localStorage的局限
1、浏览器的大小不统一,并且在IE8以上的IE版本才支持localStorage这个属性
2、目前所有的浏览器中都会把localStorage的值类型限定为string类型,这个在对我们日常比较常见的JSON对象类型需要一些转换
3、localStorage在浏览器的隐私模式下面是不可读取的
4、localStorage本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡
5、localStorage不能被爬虫抓取到
localStorage与sessionStorage的唯一一点区别就是localStorage属于永久性存储,而sessionStorage属于当会话结束的时候,sessionStorage中的键值对会被清空
jquery.cache.js 主要代码如下:
/* * @discription 用于前端页面缓存JSON格式的数据 * @author huangshipiao * @created 2017年6月22日 下午6:26:59 */(function(window, undefined){var config={expire : 10, //缓存数据默认十分钟失效debug : false}function setCache(key,obj){ var data = JSON.stringify(obj); var time = new Date().getTime(); var jsonData={"data":obj,"cacheTime":time}; if(config.debug){console.log("设置缓存数据:"+data);} return localStorage.setItem(key, JSON.stringify(jsonData));}function getCache(key){if(!key){if(config.debug){console.log("key为空,key=【"+key+"】");}return "";}var jsonData=JSON.parse(localStorage.getItem(key));if(!jsonData){if(config.debug){console.log("【"+key+"】缓存的数据不存在");}return "";}var nowDate=new Date().getTime();var cacheTime=new Date(jsonData.cacheTime).getTime();if(apartMinutes(cacheTime,nowDate)>config.expire){if(config.debug){console.log("超过"+config.expire+"分钟 ,【"+key+"】缓存失效!");}return "";}if(config.debug){console.log("【"+key+"】获取到的缓存数据:"+jsonData.data);}return jsonData.data;}function apartMinutes(date1,date2){var date3=date2 - date1; var minutes=Math.floor(date3/(60*1000)); if(config.debug){console.log("数据已缓存时间:"+minutes+"分钟");} return minutes;}var cache = {getCache: getCache,setCache: setCache,configCache: function(obj) {$.extend(config, obj);}};window.jQuery && ($.extend(window.jQuery, cache));})(window);
功能介绍:
主要用于前端页面数据缓存,提高页面的响应能力,快速获取常用数据;
可以将要缓存的数据转换为json字符串存储:
缓存设置的有效时间默认为十分钟,可以通过配置进行修改缓存时间;
也可以通过配置是否输出日志。
使用方法:
1.设置缓存
假设要缓存的数据为一个数组对象:
var datas=[{"id":"1","name":"andy"},{"id":"2","name":"lili"},{"id":"1","name":"lucy"}];
则可以设置
$.setCache("users",datas);
2.获取数据
var datas=$.getCache("users"); $.each(datas, function (index, data) { var id=data.id; var name = data.name; console.log(index+":id="+id+",name="+name); });
3,配置缓存时间和日志输出
$.configCache({"expire": 20,"debug : true});
操作结果如下:
- 基于localStorage开发的前端缓存jquery插件,jquery.cache.js
- 基于jquery 的前端分页插件
- 基于jquery的自动完成插件jquery.autocomplete.js
- 基于jquery的自动完成插件jquery.autocomplete.js
- localStorage本地缓存项目js文件(例如jquery/angular)
- 收集一些基于jQuery框架开发的控件/jquery插件
- 收集一些基于jQuery框架开发的控件-jquery插件
- jquery cache 缓存
- jquery cache(数据缓存)
- 基于jquery插件开发入门教程
- 基于js的jquery开发本质
- 【jquery】jquery插件的开发
- 【JQuery,前端】jQuery插件开发精品教程,让你的jQuery提升一个台阶
- jCountdown倒计时插件 基于jquery开发的插件
- web前端开发高大上的jquery插件
- html5浏览器缓存 localStorage 之LsyStorage.js插件的使用
- jQuery插件的开发
- jQuery插件的开发
- 关于Launcher原生apk的卸载安装监听
- 利用字符重复出现的次数,编写一个方法,实现基本的字符串压缩功能。比如,字符串“aabcccccaaa”经压缩会变成“a2b1c5a3”。若压缩后的字符串没有变短,则返回原先的字符串。
- Linux学习——基础命令、搜索命令、压缩解压命令
- 贪吃蛇
- CentOS7.2 上安装 Docker 教程
- 基于localStorage开发的前端缓存jquery插件,jquery.cache.js
- 南阳理工 7街区最短路径问题
- 常用视频转换IC汇总
- 信息化系统工程IPTV或OTT-TV节目系统解决方案
- 【C语言】FORK子进程的创建和回收(按顺序回收)
- 我的App全栈之路(3)后台环境搭建
- 韩顺平servlet学习笔记01-创建servlet的三种方式
- opencv 图像处理
- linux学习 ddns