首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

前端缓存技术概述

前端缓存技术概述 缓存概述 在计算机领域中,缓存是一项十分重要的技术。 在软件开发,亦或者是在硬件设计开发中,缓存对性能的影响是十分显著的。...有人会说,浏览器缓存前端肯定是有关系的,但是HTTP不是个协议吗,这个怎么缓存?DNS我倒是知道,这玩意儿是请求解析URL对应的IP地址的,这个跟前端又有啥关系?...而且这CDN…… 前端缓存 提到前端缓存,很多人立刻能想到的是浏览器缓存,然后又把浏览器缓存划分两种:1. 强缓存,2. 协商缓存。...“浏览器HTTP缓存”,还有人直接称之为“前端缓存”,其实都在说同一个内容。...此外,还有一些没有提到的缓存技术,如代理服务器缓存,反代理服务器缓存等。 本文首发个人博客,欢迎来撩啊^-^。

1.4K30

JS前端技术类文章

UEditor 是由百度「FEX前端研发团队」开发的所见即所得富文本web编辑器 <!...autoFloatEnabled: true }); 读取配置项 读取配置项可以通过getOpt方法读取 var lang = ue.getOpt('lang'); //默认返回:zh-cn 前端配置项说明...: 第三方插件(包括代码高亮,源码编辑等组件) ueditor.all.js: 开发版代码合并的结果,目录下所有文件的打包文件 ueditor.all.min.js: ueditor.all.js文件的压缩版...,建议在正式部署时采用 ueditor.config.js: 编辑器的配置文件,建议和编辑器实例化页面置于同一目录 ueditor.parse.js: 编辑的内容显示页面引用,会自动加载表格、列表、代码高亮等样式..._doc: 部分markdown格式的文档 _example: ueditor的使用例子 _parse: ueditor.parse.js的源码 _src: ueditor.all.js的源码 _src

4.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

前端缓存之HTTP缓存

说真的,当自己还很小白的时候,明明修改了JS的内容了,但是就是没有加载成功,那时候感觉好神奇,好没道理。后来知道了这是因为缓存的原因。...今天自己学习了一些关于前端缓存的东西,不一定有什么特别的用,仅让自己知道缓存,说不定哪天就用上了。 前端分为HTTP缓存和浏览器缓存。...然后第二次请求的时候浏览器判断这些参数是什么缓存类型,相应的返回。 HTTP缓存有强缓存和协商缓存(也有人叫对比缓存)。...说了这么多,HTTP缓存前端有什么关系?确实,大部分HTTP缓存是由服务器完成,关于前端怎么操作的没查到相关的文档,只知道可以通过meta标签禁用缓存和动态设置header。...缓存对于前端的性能优化算是很大的,推荐使用强缓存,然后用hash值的方法消除强缓存的影响。 如果有人知道前端怎么去操作HTTP缓存,希望可以指教一下。 (完)

57810

前端缓存之本地缓存

之前说了HTTP缓存,今天说说本地缓存。本地缓存也是平时开发过程经常用的。 本地缓存就简单多了,我们常用的有三个:cookie、localStorage、sessionStorage。...注意,cookie比较浪费带宽,不建议写入太多内容,这也是前端性能优化的一点。 LocalStorage:localstorage会把内容一直存在浏览器,直到清除浏览器的缓存。...PWA,不知道这个东西在以后会不会火,PWA主要是为了提供跟APP一样,很多东西缓存到本地,也叫作离线缓存就算在没有网的时候也能有内容展示,这也算缓存的一种。...还有一种很容易被忽略的缓存,往返缓存,有点类似单页面应用的history路由模式,就是浏览器的后退前进按钮,主要是为了加快页面的切换速度,不用重新请求,不仅保存了数据,还保存了DOM和JavaScript...这种缓存方式在微信里面也有很多使用。 (完)

1K10

前端缓存处理

前端缓存处理 在开发过程中,总有一些使用频率很高的接口,数据内容还不基本不修改的数据。为了提高效率,自然要放到缓存中。 后端将数据放入redis,那么前端放到哪呢?...1.前端缓存位置区别: 简单说明,详细区别可自行百度。 localStorage: 永久保存,浏览器关闭也不会消失。除非手动清除数据。...sessionStorage:暂时保存,缓存的数据时间是会话级别的。不会永久保存。...我是做java的,js并不是非常熟悉,把这个方案想出来用了一两天的时间。 最开始没有这个方法并没有加异步,写完了这个工具类之后发现系统第一次调用的时候,方法已经结束了但是没有获取到值。...(最开始不太明白js的异步执行规则,后来才知道的) 加上异步之后就可以解决这个问题了,调用的时候会把数据获取到再返回。

48740

使用传统前端技术增强客户端缓存能力

使用传统前端技术增强客户端缓存能力 前几天重构之后,Lighthouse 中有一个评分让我念念不忘: ProgressiveWebApp。...所以在使用它的时候,需要使用能力探测的方式引入,比如: try { ('serviceWorker' in navigator) && navigator.serviceWorker.register('/sw.js...} } catch (error) { console.error(error); } ServiceWorker 客户端代码 上面介绍浏览器客户端代码的时候,有引入一个外部脚本依赖 sw.js...而需要缓存的资源一般分为两类: 短时间缓存:页面或者页面片段 相对长时间缓存:图片等媒体资源,或者有一定跨页面通用能力的脚本和样式资源 这里以10分钟(调试模式单位替换为秒)为一个时间段,为短时间缓存的资源进行缓存...另外,你也不需要担心 sw.js缓存后,这个站点变成“完全离线”。因为 sw.js 按照规范可以保证它的最长存在生命周期是 1天,也就是说,未来你的策略更新最多延迟1天。

74410

缓存技术

缓存技术 1 为什么要使用缓存 在上一次课redis入门的过程中我们讲过随着访问量的上升,几乎大部分使用MySQL架构的网站在数据库 上都出现了性能问题,web程序不再仅仅关注在功能上,同时也开始追求性能...,Memcached(缓存)自然 成为一个非常时尚的技术产品。...3 缓存分类 在分布式系统中,缓存的应用非常广泛,从部署角度有以下几个方面的缓存应用。...(1)CDN缓存; (2)反向代理缓存; (3)分布式缓存; (4)本地应用缓存; 4 Ehcache本地缓存 Ehcache是一个用Java实现的使用简单,高速,实现线程安全的缓存管理类库,ehcache...缓存策略,支 持内存缓存和磁盘缓存,分布式缓存机制等等特点。

92900

缓存】387- 前端缓存最佳实践

前言 缓存,这是一个老生常谈的话题,也常被作为前端面试的一个知识点。 本文,重点在与探讨在实际项目中,如何进行缓存的设置,并给出一个较为合理的方案。...机智的前端们想出了一个方法,在更新版本的时候,顺便把静态资源的路径改了,这样,就相当于第一次访问这些资源,就不会存在缓存的问题了。...[chunkhash].js' } 综上所述,我们可以得出一个较为合理的缓存方案: HTML:使用协商缓存。 CSS&JS&图片:使用强缓存,文件命名带上hash值。...后端需要怎么设置 上文主要说的是前端如何进行打包,那后端怎么做呢? 我们知道,浏览器是根据响应头的相关字段来决定缓存的方案的。所以,后端的关键就在于,根据不同的请求返回对应的缓存字段。...Cache-Control', 'public, max-age=0'); res.setHeader('Last-Modified', xxx); res.setHeader('ETag', xxx); 总结 在做前端缓存

71010

前端数据缓存(一)

说到缓存一般针对后台缓存数据,提高数据查询效率,减少响应时间。...不过在前端开发中也会遇到一些需要缓存数据的时候,比如说存储页面查询条件翻页数据、全局变量等,如果小的数据可以存储在cookies中,但是数据多了就不行了,下面介绍下前台缓存的简单实现: /** * cache...undefined){//全局cache,所以不会重新生成cache this.gloableCache[this.scope] = {}; } } } 定义一个构造函数,不同的功能有不同的缓存...,定义缓存基本方法 BaseCache.prototype = { _getPrmGoableCache : function(){ if(top===self){//topest window...this.gloableCache[this.scope]){ delete this.gloableCache[this.scope][key]; } } }; 下面举个例子来使用该缓存

81230

前端缓存最佳实践

前言 缓存,这是一个老生常谈的话题,也常被作为前端面试的一个知识点。 本文,重点在于探讨在实际项目中,如何进行缓存的设置,并给出一个较为合理的方案。...机智的前端们想出了一个方法,在更新版本的时候,顺便把静态资源的路径改了,这样,就相当于第一次访问这些资源,就不会存在缓存的问题了。 ?...[chunkhash].js' } 综上所述,我们可以得出一个较为合理的缓存方案: HTML:使用协商缓存。 CSS&JS&图片:使用强缓存,文件命名带上hash值。...补充:后端需要怎么设置 上文主要说的是前端如何进行打包,那后端怎么做呢?我们知道,浏览器是根据响应头的相关字段来决定缓存的方案的。所以,后端的关键就在于,根据不同的请求返回对应的缓存字段。...写了一个简单的demo,方便有需要的朋友去了解其中的原理,有兴趣的可以阅读源码 总结 在做前端缓存时,我们尽可能设置长时间的强缓存,通过文件名加hash的方式来做版本更新。

65720

前端缓存那些事

前端缓存指的是,浏览器对服务器最近请求过的资源进行存储,通过这种方式来达到减少与服务器的交互请求,以此减少对带宽流量的浪费,以及减少了服务器的负担,而浏览器缓存主要分为两种,强缓存和协商缓存 ❞...,beforeDestroy函数,组件将被缓存,不用销毁重新渲染,性能比较好 路由的选择性缓存 // router.js export default new Router({ routes:[..."> 复制代码 打包加入hash ❝ 前端工程化开发,可以使用 Webpack 编译,打包的资源文件路径里自动带有一串随机字符串,称为 hash ❞...在vue cli脚手架中,我们可以通过配置vue.config.js(本质上是配置webpack)来设置编译生成的文件具备hash值,意味着每次打包编译的文件都是唯一的,来防止因为缓存,导致资源没有更新...[hash].js').end(); } } 复制代码 4.2 Nginx的缓存 • 配置expires 假设我想通过web应用的图片缓存一周,那你可以在nginx中配置如下,配置完之后一周之内的资源只会访问浏览器的资源

47172

前端缓存那些事

前端缓存指的是,浏览器对服务器最近请求过的资源进行存储,通过这种方式来达到减少与服务器的交互请求,以此减少对带宽流量的浪费,以及减少了服务器的负担,而浏览器缓存主要分为两种,强缓存和协商缓存 1.强缓存...路由的选择性缓存 // router.js export default new Router({ routes:[ { path: '/test', name: 'test',..."> 打包加入hash 前端工程化开发,可以使用 Webpack 编译,打包的资源文件路径里自动带有一串随机字符串,称为 hash 在vue...cli脚手架中,我们可以通过配置vue.config.js(本质上是配置webpack)来设置编译生成的文件具备hash值,意味着每次打包编译的文件都是唯一的,来防止因为缓存,导致资源没有更新,官方文档...[hash].js').end(); } } 4.2 Nginx的缓存 • 配置expires 假设我想通过web应用的图片缓存一周,那你可以在nginx中配置如下?

76040

前端缓存最佳实践

前言 缓存,这是一个老生常谈的话题,也常被作为前端面试的一个知识点。 本文,重点在与探讨在实际项目中,如何进行缓存的设置,并给出一个较为合理的方案。...机智的前端们想出了一个方法,在更新版本的时候,顺便把静态资源的路径改了,这样,就相当于第一次访问这些资源,就不会存在缓存的问题了。...[chunkhash].js' } 综上所述,我们可以得出一个较为合理的缓存方案: HTML:使用协商缓存。 CSS&JS&图片:使用强缓存,文件命名带上hash值。...后端需要怎么设置 上文主要说的是前端如何进行打包,那后端怎么做呢? 我们知道,浏览器是根据响应头的相关字段来决定缓存的方案的。所以,后端的关键就在于,根据不同的请求返回对应的缓存字段。...Cache-Control', 'public, max-age=0'); res.setHeader('Last-Modified', xxx); res.setHeader('ETag', xxx); 总结 在做前端缓存

98630

再聊缓存技术

一:缓存的概念 对于现在的各种系统来说,缓存的应用无处不在。如果能合理的利用缓存,整个系统的性能将会得到大大的提高,Web开发尤其如此。...三:服务端应用程序中的缓存 应用程序里的缓存是我们最常用的缓存。一般来说,系统常会部署一些分布式存储系统来作为缓存的载体。...四:运行环境缓存 运行环境缓存指的是程序代码之外的缓存,下面介绍两种使用较多的: Web 服务器缓存:常见的 Web 服务器,如 Nginx ,Apache 都有自己的缓存模块...Mysql 还有一些其它缓存设置,比如打开表缓存(table_cache),临时表缓存(tmp_table_size)等,这些缓存机制经过合理配置后都能提高系统性能。...当然实际用到的缓存并不仅仅只有这些,例如还有静态文件的CDN缓存,网络请求的DNS缓存等。缓存的使用,是我们实际工作中必须掌握的技能。

62310

php缓存技术

(); ****将缓存内容写入html文件***** Ob_end_clean(); 2、页面部分缓存 该种方式,是将一个页面中不经常变的部分进行静态缓存,而经常变化的块不缓存,最后组装在一起显示;可以使用类似于...ob_get_contents的方式实现,也可以利用类似ESI之类的页面片段缓存策略,使其用来做动态页面中相对静态的片段部分的缓存 (ESI技术,请baidu,此处不详讲)。...; 4、查询缓存 其实这跟数据缓存是一个思路,就是根据查询语句来缓存;将查询得到的数据缓存在一个文件中,下次遇到相同的查询时,就直 接先从这个文件里面调数据,不会再去查数据库;但此处的缓存文件名可能就需要以查询语句为基点来建立唯一标示...; 按时间变更进行缓存 其实,这一条不是真正的缓存方式;上面的2、3、4的缓存技术一般都用到了时间变更判断;就是对于缓存文件您需要设一个有效 时间,在这个有效时间内,相同的访问才会先取缓存文件的内容,但是超过设定的缓存时间...,就需要重新从数据库中获取数据, 并生产最新的缓存文件; 比如,我将我们商城的首页就是设置2个小时更新一次; 5、按内容变更进行缓存 这个也并非独立的缓存技术,需结合着用;就是当数据库内容被修改时,即刻更新缓存文件

3.5K60

HTTP 缓存技术

HTTP 缓存技术缓存技术出现在HTTP1.1当中,目的是尽可能减少对于服务器进行请求。为了实现缓存技术,HTTP设计者在头部字段增加针对缓存的头部字段。HTTP 缓存有两种方式,强制缓存和协商缓存。...缓存技术在HTTP中的体现是通过几个请求字段的配合,按照一定的判断流程控制。...这三个字段基本囊括大部分HTTP缓存技术的应用场景。...如果没有特殊字段禁用缓存缓存将会把请求结果缓存存在浏览器缓存当中。缓存判定主要依赖两项技术:强制缓存和协商缓存,也是HTTP缓存技术的要点。将在下文进行进行介绍。...参考文章一张图理解Http缓存 - SegmentFault 思否RFC7234 中文翻译 中文RFC RFC文档 RFC翻译 RFC中文版 (rfc2cn.com)【第1398期】一文读懂前端缓存 (

72100

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券