前端巧用localStorage做“缓存”,减少HTTP请求次数

场景:

载入某个页面,JS需要通过ajax请求获取某些数据

那么每次刷新页面都会有请求,如果这些数据对实时性要求并不高,显然这样做并不可取。

如何减少服务端的压力,使用localStorage可以解决此问题。

//假设id是区分于其他的要储存的k值的一部分。var flag=0,k=null,v_arr=[],v_time=0,v=‘‘;var cday = new Date().getDate();var k = window.localStorage.getItem(‘name_‘+id);if(k !== null) {   v_arr = k.split("@");   v_time = v_arr[1];   //一天过期   if(cday != v_time) {    flag = 1;   } else {    flag = 2;    v = v_arr[0];    //取到v的值,直接做该做的事情。   }   }if(flag < 2) {  //发起请求  $.ajax(    xx,    xxx,     success:function(data) {       //存储data有效值。       window.localStorage.setItem(‘name_‘+id,data.id+‘@‘+new Date().getDate());        //取到v的值,直接做该做的事情。
    });

}

原文地址:https://www.cnblogs.com/black-humor/p/8898212.html

时间: 2024-11-08 21:36:25

前端巧用localStorage做“缓存”,减少HTTP请求次数的相关文章

减少http请求次数

80%的最终用户响应时间花在前端程序上,而其大部分时间则花在各种页面元素,如图像.样式表.脚本和Flash等的下载上.减少页面元素将会减少HTTP请求次数.这是快速显示页面的关键所在. 1.Image maps组合多个图片到一张图片中.总文件大小变化不大,但减少了HTTP请求次数从而加快了页面显示速度.该方式只适合图片连续的情况:同时坐标的定义是烦人又容易出错的工作.使用CSS的background-image和background-position属性来现实所需的部分图片. 2.Combine

将jquery和公共样式缓存到localStorage,可以减少Http请求,从而优化页面加载时间

以下代码: //入口函数 if (window.localStorage) { initJs(); initCss("css", "/gfdzp201508257998/Turntable/Style/css_whir.css"); } else { addFile("/gfdzp201508257998/Turntable/Script/jquery-1.8.3.min.js", "js"); addFile("/

使用 localStorage做缓存优化

注意,存在 localStorage里的数据都是字符传格式的,要使用JSON.parse转换. 思路如下: 1,读取缓存的数据,例如叫做data_cache 2判断data_cache,if(!data_cache){访问接口,获取数据data,将data字符串化JSON.stringify,存入local名字为data_cache,然后递归自身的函数名} 3 else 解析数据字符串,然后处理吧. 例如: //获取一级分类数据,并保存到本地 function get1Category() {

前端性能优化篇—资源合并与压缩减少HTTP请求

资源合并与压缩减少HTTP请求的概要 资源合并与压缩减少HTTP请求主要的两个优化点是减少HTTP请求的数量和减少请求资源的大小 http协议是无状态的应用层协议,意味着每次http请求都需要建立通信链路.进行数据传输,而在服务器端,每个http都需要启动独立的线程去处理. 这些通信和服务的开销都很昂贵,减少http请求的数量和减少请求资源的大小可有效提高访问性能 减少http的主要手段是合并CSS.合并JavaScript.合并图片.将浏览器一次访问需要的javascript和CSS合并成一个

前端性能优化-减少http请求,dns预解析,减少repaint和reflow

前端性能优化方法: 一 . 减少http请求 (1)通过合并图片,减少请求,俗称css sprites(css精灵)css sprites (2)lazyload懒加载,在需要的时候再加载 1.定义:懒加载也称为延迟加载,图片需要用到的时候再去价值 2.用法:就是重写对象的get方法,当系统调用get方法再去加载对象 3.优点:(1)对象的实例化在getter方法中,各司其职,降低耦合性:(2)真正需要资源时,再去加载,系统的内存占用率会减小 (3)压缩/合并css和js 二 .减少repain

前端应当了解的Web缓存知识

缓存优点 通常所说的Web缓存指的是可以自动保存常见http请求副本的http设备.对于前端开发者来说,浏览器充当了重要角色.除此外常见的还有各种各样的代理服务器也可以做缓存.当Web请求到达缓存时,缓存从本地副本中提取这个副本内容而不需要经过服务器.这带来了以下优点: 缓存减少了冗余的数据传输 缓存优点 通常所说的Web缓存指的是可以自动保存常见http请求副本的http设备.对于前端开发者来说,浏览器充当了重要角色.除此外常见的还有各种各样的代理服务器也可以做缓存.当Web请求到达缓存时,缓

1-7 basket.js localstorage.js缓存css、js

basket.js 源码分析 api 使用文档: http://t3n.de/news/basketjs-performance-localstorage-515119/ 一.前言 basket.js 可以用来加载js脚本并且保存到 LocalStorage 上,使我们可以更加精准地控制缓存,即使是在 http 缓存过期之后也可以使用.因此可以使我们防止不必要的重新请求 js 脚本,提升网站加载速度. 可以到 basket.js 的 Github 上查看更多的相关信息. 由于之前在工作中使用过

浏览器的Storage做缓存需要注意的地方

使用浏览器的Storage来做缓存.如: window.sessionStorage.setItem("cache", $(data).stringify()) 需要注意以下几点: 1.Storage存储的值只能存储字符串,其它javaScript数据类型不能存储. 2.sessionStorage的范围在同一浏览器窗口,一但关闭,数据丢失.LocalStorage可以在不同浏览器窗口传递,且缓存时间永久. 3.stringify在js对象不能直接调用,可以用如下方式: $.fn.st

web前端多少岁不能做了

互联网行业的告诉发展也带动了前端的高速发展,那么对于高度发展的前端来说,web前端多少岁不能做了,这是一个让人比较关心的问题. 据统计:学习Web前端的人群年龄集中在20-30年龄阶段,20-29年龄占据50%之多,大量的年轻人加入到web前端开发行业中来,web前端开发在中国正处于快速发张阶段,如果你是刚毕业,或处于工作迷茫期,并且对web前端感兴趣,加入前端开发领域也是非常好的选择. Web前端的工资情况: 全国前端开发平均工资:¥9541元/月,最低工资2K-3K,最高工资20K-30K.