首页 > 其他分享 > Hash 缓存

Hash 缓存

时间:2023-06-05 21:32:40浏览次数:48  
标签:contenthash 文件 缓存 Hash bundle js

原文点此跳转

输出文件名(Hash)

静态资源缓存是前端性能优化的一个点,所以在前端开发过程中,一般会最大限度的利用缓存(这里主要是强缓存)。如果设置了强缓存后,每次当我们部署了新的项目文件到线上的时候,因为文件名称没有变化,浏览器就会读取本地缓存中的 bundle.js 文件,导致了我们新的 bundle.js 没有被加载。所以我们每次部署的时候都要把 bundle.js 改成另外一个名字,这里就会用到 Hash。

Hash 有以下几种:

hash

项目中的任何一个地方改动,整个打包出来的文件 Hash 都会发生变化,所有文件的 Hash 值相同。

chunkhash

每个分包 / 按需加载模块的 Hask 都是相同的,模块中的任何一个地方改动,只会影响当前模块所有文件的 Hash 发生变化。

contenthash

每个文件都是一个单独的 Hash,文件发生变化后,单个文件的 Hash 也会发生变化。


建议

推荐使用 contenthash 进行缓存

推荐使用 8 位的 hash 值进行缓存 [contenthas: 8]

module.exports = {
    output: {
        path: './dist',
        filename: '[contenthash:8]bundle.js'
    }
}

原文点此跳转

标签:contenthash,文件,缓存,Hash,bundle,js
From: https://blog.51cto.com/u_12639291/6419294

相关文章

  • 应用问题解决——缓存穿透、缓存击穿、缓存雪崩
    一、缓存穿透缓存穿透:key对应的数据在数据源并不存在,每次针对key的请求从缓存中获取不到,请求都会压到数据源,从而可能压垮数据源,比如用一个不存在的用户id获取用户信息,不论缓存还是数据库都没有,若黑客利用此漏洞进行攻击可能压垮数据库现象:1、应用服务器压力变大2、redis命中率......
  • Redis(四) -- 缓存
    缓存缓存更新方式这是决定在使用缓存时就该考虑的问题。设置缓存数据的TTL,当缓存数据失效后,如果有系统要请求,则会查询数据库并插入缓存(被动更新)不友好在各类会往mysql写入数据的系统中,植入更新缓存的逻辑(判断哪些表的数据是热点数据,那么就可以在这些表数据的更新操作逻辑中......
  • http协商缓存VS强缓存
      本文主要讲解浏览器端的缓存,缓存的作用是不言而喻的,能够极大的改善网页性能,提高用户体验。1、浏览器缓存缓存这东西,第一次必须获取到资源后,然后根据返回的信息来告诉如何缓存资源,可能采用的是强缓存,也可能告诉客户端浏览器是协商缓存,这都需要根据响应的header内容来决定的......
  • Hash表算法
    第一部分:TopK算法详解问题描述百度面试题:   搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。   假设目前有一千万个记录(这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复后,不超过3百万个。一个查询串的重复度越高,......
  • SpringBoot2 缓存之王caffeine
    <dependency><groupId>com.github.ben-manes.caffeine</groupId><artifactId>caffeine</artifactId><version>2.9.0</version></dependency>顺便写了个工具类配合SpringBoot使用:packag......
  • Hash算法系列-应用(负载均衡)
            现在的网站用户量都很大,一台服务器包打天下的时代一去不复返了,多台服务器就存在一个问题,如何将访问用户转向不同的服务器,并且各个服务器接受的请求数大致相当呢?这就是一致性hash算法要解决的问题。一致性hash算法在负载服务器(ngnix、haproxy等)、K/V缓存系统memca......
  • Hash算法系列-应用(负载均衡)
            现在的网站用户量都很大,一台服务器包打天下的时代一去不复返了,多台服务器就存在一个问题,如何将访问用户转向不同的服务器,并且各个服务器接受的请求数大致相当呢?这就是一致性hash算法要解决的问题。一致性hash算法在负载服务器(ngnix、haproxy等)、K/V缓存系统memca......
  • hashlib模块
    hashlib模块【一】算法介绍Python的hashlib提供了常见的摘要算法如MD5SHA1等等。什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。摘要算法就是通过摘要函数f()对任意长......
  • 一致性hash算法 - consistent hashing
    评:consistenthashing算法早在1997年就在论文Consistenthashingandrandomtrees中被提出,目前在cache系统中应用越来越广泛;1基本场景比如你有N个cache服务器(后面简称cache),那么如何将一个对象object映射到N个cache上呢,你很可能会采用类似下面的通用方......
  • 缓存雪崩【Redis 缓存】
    缓存雪崩缓存雪崩是指在同一时段大量的缓存key同时失效或者Redis服务宕机,导致大量请求到达数据库,带来巨大压力。解决方案:给不同的Key的TTL添加随机值利用Redis集群提高服务的可用性给缓存业务添加降级限流策略给业务添加多级缓存 ......