再贴代码之前先描述下,这个技术应用的场景:一个页面的http请求次数能少点就少,这样大大提高用户体验。所以再一个页面发起一个请求,把所有数据都拿到后储存在缓存里面,你想用的时候再调用出来,这个是非常好的一个做法。

下面开始讲解这个技术的应用:

  这个技术主要运用到getStorage setStorage

步骤如下:

//定义全局变量函数
var uzStorage = function () {
var ls = window.localStorage;
return ls;
};
//定义全局变量u
var u = {};
//设置缓存
u.setStorage = function (key, value) {
var v = value;
if (typeof v == 'object') {
v = JSON.stringify(v);
v = 'obj-' + v;
} else {
v = 'str-' + v;
}
var ls = uzStorage();
if (ls) {
ls.setItem(key, v);
}
};
//获取缓存
u.getStorage = function (key) {
var ls = uzStorage();
if (ls) {
var v = ls.getItem(key);
if (!v) {
return;
}
if (v.indexOf('obj-') === 0) {
v = v.slice(4);
return JSON.parse(v);
} else if (v.indexOf('str-') === 0) {
return v.slice(4);
}
}
};

js数据放入缓存,需要再调用的更多相关文章

  1. C语言:求n(n<10000)以内的所有四叶玫瑰数。-将字符串s1和s2合并形成新的字符串s3,先取出1的第一个字符放入3,再取出2的第一个字符放入3,

    //函数fun功能:求n(n<10000)以内的所有四叶玫瑰数并逐个存放到result所指数组中,个数作为返回值.如果一个4位整数等于其各个位数字的4次方之和,则称该数为函数返回值. #incl ...

  2. git如何删除已经 add 的文件 (如何撤销已放入缓存区文件的修改)

    使用 git rm 命令即可,有两种选择, 一种是 git rm –cached “文件路径”,不删除物理文件,仅将该文件从缓存中删除: 一种是 git rm –f “文件路径”,不仅将该文件从缓存中 ...

  3. C语言:把分数最低的学生数据放入数组b所指的数组中,-从键盘输入若干字符串,写入文件myfile4中,用-1作字符输入结束的标志,

    //学生记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组中,fun函数:把分数最低的学生数据放入数组b所指的数组中,分数最低的学生可能不止一个.人数返回. #include <st ...

  4. java 实现每次从list中取5000条数据放入新list

    从list中取固定条数的数据放入新的list里 public static <T> List<List<T>> split(List<T> resLis ...

  5. 如何将数据放入下拉框List值

    最近在做下拉框,里面放入值大概有这几种 //仓库业务类型 第一种 model.addAttribute("warehouseBizTypeList", basePropertySe ...

  6. 怎么样把ModelMap里面的数据放入Session里面?

    答:可以在类上面加上@SessionAttributes注解,里面包含的字符串就是要放入session里面的key.

  7. session放入缓存(redis)、DB

    为什么要把SESSION保存在缓存 就php来说,语言本身支持的session是以文件的方式保存到磁盘文件中,保存在指定的文件夹中,保存的路径可以在配置文件中设置或者在程序中使用函数session_s ...

  8. jquery将json数据放入表格当中

    数据: var datas = [{ name:"淘宝", url:"www.taobao.com", type:"购物网站" },{ na ...

  9. git --如何撤销已放入缓存区(Index区)的修改

    修改或新增的文件通过 git add --all 命令全部加入缓存区(index区)之后,使用 git status 查看状态(git status -s 简单模式查看状态,第一列本地库和缓存区的差异 ...

随机推荐

  1. [福大软工] Z班 第6次成绩排行榜

    作业要求 http://www.cnblogs.com/easteast/p/7668890.html 作业评分 本次作业从引言(5 ') . 用户场景(15 ').类图(10 ').界面原型(15 ...

  2. Windows下mysql服务的安装与卸载

    安装 mysqld -install 也可以指定mysql安装服务的文件 my.ini文件配置好后就可以在cmd中安装mysqld服务了,在cmd中运行命令:mysqld --install MySQ ...

  3. syslog的坑

    先看看代码: g_log, err := syslog.NewLogger(syslog.LOG_INFO, ) 再看看syslog的源码: // NewLogger creates a log.Lo ...

  4. j旧学习

    多态的动态绑定: 签名 方法名和参数列表  不同参数叫重载,覆盖父类签名叫覆盖 类加 final不可继承 方法加final不可覆盖 强制类型转换  (类型)对象 抽象类 只要有一个抽象方法就是抽象类, ...

  5. Cassandra联手Spark 大数据分析将迎来哪些改变?

    2014Spark峰会在美国旧金山举行,与会数据库平台供应商DataStax宣布,与Spark供应商Databricks合作,在它的旗舰产 品 DataStax Enterprise 4.5 (DSE ...

  6. 解决新版chrome无法手动拖动安装插件 提示“无法从该网站添加应用,扩展程序和用户脚本”

    开发模式安装 把下载后的.crx扩展名的离线Chrome插件的文件扩展名改成.zip或者.rar 解压压缩文件 在Chrome的地址栏中输入:chrome://extensions/ 打开Chrome ...

  7. 原生javascript实现回到顶部平滑滚动

    function rt() { var d = document, dd = document.documentElement, db = document.body, top = dd.scroll ...

  8. 基于Spring Boot和Shiro的后台管理系统FEBS

    FEBS是一个简单高效的后台权限管理系统.项目基础框架采用全新的Java Web开发框架 —— Spring Boot 2.0.3,消除了繁杂的XML配置,使得二次开发更为简单:数据访问层采用Myba ...

  9. 【angularjs】使用angular搭建项目,滚动距离

    常用方法 滚动到顶部:$ionicScrollDelegate.scrollTop();或者$ionicScrollDelegate.$getByHandle('视图句柄').scrollTop(); ...

  10. hadoop学习笔记叁--简单应用

    1.通过命令向HDFS传输文件 上传:./hadoop fs -put hdfs.cmd (本地文件名) hdfs://主机名称:9000/       hadoop fs -copyFromLoca ...