推广 热搜: 广场  Java  Word  app  营业  微信公众号  北京代理记账  商城  代理记账  商标交易 

前端强缓存和协商缓存的过程 前端版本更新的时候怎么清除缓存?

   2023-04-26 企业服务招财猫120
核心提示:前端版本更新的时候怎么清除缓存?清除缓存方法:JS,CSS等文件加T当前时间。L3缓存什么好处?缓存(三级缓存)分为两种,早期的是外置的,后期升级的产品是内置的。其实际作用在于,L3缓存的应用可以进一

前端版本更新的时候怎么清除缓存?

清除缓存方法:JS,CSS等文件加T当前时间。

L3缓存什么好处?

缓存(三级缓存)分为两种,早期的是外置的,后期升级的产品是内置的。其实际作用在于,L3缓存的应用可以进一步降低内存延迟,提高处理器在计算大数据量时的性能。降低内存延迟,提高大数据的计算能力,对游戏很有帮助。但是,通过在服务器领域添加L3缓存,性能仍有显著提高。例如,具有较大L3缓存的配置可以更有效地使用物理内存,因此它可以比较慢的磁盘I/O子系统处理更多的数据请求。具有更大L3缓存的处理器提供了更高效的文件系统缓存行为以及更短的消息和处理器队列长度。

其实最早的L3缓存应用在AMD发布的K6-III处理器上。当时L3缓存并没有集成到芯片中,而是由于制造工艺的原因集成到主板中。L3缓存,只能和系统总线频率同步,和主存区别不大。后来,L3缓存是英特尔为服务器市场推出的安腾处理器。然后是P4

前端编译器babel的缓存机制是怎么做的?

babel介绍babel是一个js编译器。我们通常使用react、vue等框架编译成浏览器可以执行的代码。个人感觉巴别塔是前端建筑中最低最核心的部分。没有它,前端肯定会回到刀耕火种的时代。

既然是编译器,当然会操作很多文件。在babel/core中,它读取包括babelrc、pkgjson、插件、预置等在内的大部分文件。,所以缓存操作文件的结果是必不可少的!

巴别塔的缓存机制假设我们正在处理一个文件。对象和数组通常被用作js中的缓存容器。babel使用了es6提供的map,但它实际上是一个对象,只是它的键是任意的(不限于字符串)。

好了,现在我们有了一个缓存容器(map),那么关键是什么呢?用来标记一个文件,一般可以选择使用文件的路径和文件名的md5值,babel使用的是前者。

处理文件的过程可以定义对于句柄方法,文件路径是句柄的一个参数。有时候只有一个文件路径不能满足业务逻辑,需要传入其他参数,所以句柄有第二个参数。

这里babel封装了第二个参数,使之成为具有状态管理能力的对象,所以handle的第二个参数就是这个对象。

句柄处理后,你会得到这次一个文件的处理结果值。是否要现在保存地图中的值?对不起,它不是的!

CacheConfigurator是一个具有状态管理能力的对象,可以在句柄处理过程中进行修改。得到value的值后,需要识别CacheConfigurator的状态。

CacheConfigurator有三种状态:

红色字体的有效项是check函数never,不需要缓存。

永远,你需要缓存,但是下次处理这个文件的时候,跳过验证部分,直接返回值。

有效,下次处理这个文件时,需要通过验证逻辑有效。

那么这个检查逻辑是怎么来的呢?

那个没错,它是在处理CacheConfigurator时由handle传入的。

下次处理这个文件的时候,优先考虑缓存的逻辑,只有通过验证后,才直接返回值!

整体思路是这样的,蒙大拿的思路还是很微妙的。这个思路在其他业务中也可以参考!

喜欢我的回答就关注我。有问题可以评论。让让我们一起学习,一起成长!

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
合作伙伴
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  冀ICP备2023006999号-8