美文网首页全栈前端spring boot
前端优化:api缓存方案

前端优化:api缓存方案

作者: 前往悬崖下寻宝的神三算 | 来源:发表于2019-06-04 15:31 被阅读187次

本文长期更新,如有错误,还望指正!
欢迎关注哦 ~ 更新于 2019年6月20日16:04:15

概述


缓存api和返回的数据。避免多次重复请求,浪费时间和服务器资源。

适用条件
  1. get类获取数据接口 (restful)
  2. 返回数据比较固定

比如 历史数据(不更新),用户定制菜单(很少更新),尤其是对系统类网站优化效果显著。

大体思路

将请求url和返回解雇以键值对形式保存在内存中,key是api名称,value是返回的数据。
再次请求时判断本地是否有缓存,有则不再请求,无则去请求。

功能需求

  1. 同一个接口,需要区分参数进行存储
    接口名+参数,使用hash生成唯一字符串

  2. 支持异步

  3. 支持Promise
    使用axios

  4. 考虑并发的情况,并非会造成多次请求
    存储axios返回的Promise对象

  5. 支持有效时间且过期清除
    增加创建时间戳

  6. 支持手动清除

  7. 避免占用过多的空间
    对缓存数量进行限制

使用示例


开发后已发布到npm,可以直接import使用,源码和api点这里

安装

npm i -S cache-get

直接使用

import cacheGet from 'cache-get';
cacheGet.get(url, { params: {x} }).then((res) => {
  // 请求成功
}).catch((err) => {
  // 请求失败
})

集成到vue

  1. 入口文件引入
import cacheGet from 'cache-get';
Vue.prototype.$cacheHttp = cacheGet ;
  1. 组件内使用
this.$cacheHttp.get(url, { params: {x} }).then((res) => {
  // 请求成功
}).catch((err) => {
  // 请求失败
})

参考资料

相关文章

  • 前端优化:api缓存方案

    本文长期更新,如有错误,还望指正!欢迎关注哦 ~ 更新于 2019年6月20日16:04:15 概述 缓存api和...

  • 前端优化方案--缓存

    一个页面的速度由什么来决定? 资源传输时间(TCP连接时间 + 响应时间) DOM渲染时间 查看方法: windo...

  • 前端 api 请求缓存方案

    在开发 web 应用程序时,性能都是必不可少的话题。对于webpack打包的单页面应用程序而言,我们可以采用很多方...

  • 前端api请求缓存方案

    【序】缓存是提升性能最好的方法,尤其是用户受限于网速的情况下,我们可以使用service worker来缓存静态内...

  • 2020-06-11

    前端性能优化 以可视化为例的一个优化方案 问题: 未优化前网页平均打开时间7-9s(无缓存首次加载),请求资源...

  • PHP高并发解决方案

    高并发解决方案案例 1、流量优化:防盗链处理2、前端优化:减少HTTP请求,启用浏览器缓存和文件压缩,cdn加速,...

  • 前端 api 请求缓存方案汇总

    在开发 web 应用程序时,性能都是必不可少的话题。对于webpack打包的单页面应用程序而言,我们可以采用很多方...

  • 基于indexDB的前端优化缓存方案

    缓存作为一种非常常见的优化手段,不管是前端还是后端都能够经常用到,后端的缓存方案, 就是redis、memcach...

  • 前端缓存接口数据的实现

    前端缓存 API 接口数据,前端怎么知道数据是否变了,该不该取缓存的数据呢。可以采用 HTTP 协商缓存 ETag...

  • 浏览器缓存?优点?清除方法?

    ☆前端优化:浏览器缓存技术介绍 - 简书 浏览器缓存(适用于前端解决缓存问题) - 简书 js清除浏览器缓存问题的...

网友评论

    本文标题:前端优化:api缓存方案

    本文链接:https://www.haomeiwen.com/subject/anfzgqtx.html