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

nginx 清理js缓存图片

基础概念

Nginx 是一个高性能的 HTTP 和反向代理服务器,广泛用于网站部署和负载均衡。缓存是提高网站性能的重要手段,但有时需要清理缓存以反映最新的内容更改。

相关优势

  1. 提高加载速度:缓存静态资源(如 JavaScript 文件和图片)可以显著减少页面加载时间。
  2. 减轻服务器负载:通过缓存静态内容,服务器不需要每次请求都重新生成或传输这些文件。
  3. 改善用户体验:快速的页面加载和响应时间可以提升用户的满意度和留存率。

类型

  • 客户端缓存:浏览器缓存,通过 HTTP 头控制。
  • 代理缓存:如 Nginx 缓存,位于客户端和服务器之间。
  • 服务器端缓存:应用服务器内部的缓存机制。

应用场景

  • 静态资源服务:如图片、CSS、JavaScript 文件。
  • 动态内容缓存:通过 Nginx 反向代理缓存动态生成的页面。
  • 负载均衡:在高流量网站中分发请求,提高系统稳定性。

清理缓存的原因及解决方法

原因

  1. 内容更新:当网站内容(如 JavaScript 文件或图片)发生更改时,旧的缓存版本仍然会被加载。
  2. 缓存过期策略:不合理的缓存设置可能导致内容长时间不被更新。

解决方法

1. 使用版本控制

在文件名中添加版本号或哈希值,确保每次更新后文件名不同,从而强制浏览器加载新文件。

代码语言:txt
复制
<!-- 旧方式 -->
<script src="script.js"></script>

<!-- 新方式 -->
<script src="script.v2.js"></script>
2. 设置 HTTP 头

通过设置适当的 HTTP 头来控制缓存行为。

代码语言:txt
复制
location ~* \.(js|jpg|png)$ {
    expires 1d;  # 设置缓存时间为1天
    add_header Cache-Control "public, no-transform";
}
3. 手动清除 Nginx 缓存

如果使用 Nginx 的 proxy_cache 功能,可以通过以下命令手动清除缓存:

代码语言:txt
复制
nginx -s delete /path/to/cache/directory/*
4. 使用自动化工具

结合 CI/CD 流程,在每次部署时自动更新文件名或清除缓存。

示例代码

假设我们有一个 Nginx 配置文件 nginx.conf,用于缓存静态资源:

代码语言:txt
复制
http {
    proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;

    server {
        listen 80;
        server_name example.com;

        location /static/ {
            proxy_pass http://backend;
            proxy_cache my_cache;
            proxy_cache_valid 200 302 10m;
            proxy_cache_valid 404 1m;
            add_header X-Proxy-Cache $upstream_cache_status;
        }
    }
}

在这个配置中:

  • /var/cache/nginx 是缓存目录。
  • my_cache 是缓存区域的名称。
  • proxy_cache_valid 设置不同 HTTP 状态码的缓存时间。

总结

通过合理设置缓存策略和使用版本控制,可以有效管理 Nginx 缓存,确保用户始终获取最新的内容。手动清除缓存或结合自动化工具可以进一步提高效率和可靠性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

nginx 的缓存和清理

背景 由于服务器的各方面配置都太低,经不起消耗,所以基本上所有动态的内容都以缓存形式展现,除了部分的交互使用动态意外。 但是每次修改了动态的内容,缓存有没过期,这样得必须手动清理缓存了。...=auto nginx 没有的话, kill 进程,然后重启 缓存的清理 关于 nginx 的更多设置请看 这篇 别忘了配置 location ~ /clear_cache(/.*) { #删除指定缓存区域.../clear_cache 即可,如 :清理 文件 https://www.chuchur.com/js/a.js,输入 https://www.chuchur.com/clear_cache/js/a.js..., 看到 Successful purge 表明清理成功。...可以每次修改动态内容之后,自动触发 缓存清理器操作 一些问题 该缓存的没缓存, 不该缓存的缓存了。

4.4K20

nginx定向清理Proxy Cache缓存

nginx定向清理Proxy Cache缓存 作者:matrix 被围观: 4,692 次 发布时间:2017-08-22 分类:零零星星 | 无评论 » 这是一个创建于 1836 天前的主题...很多服务器是使用nginx内置的Proxy_cache来缓存资源,防止不必要的后端请求。有时候需要单独清理某个缓存,这就麻烦了。...按照大多数做法是给nginx安装purge模块,但是目前有更加精简的办法使用代码手动删除 道理很简单:获取nginx缓存url的文件路径,然后删除就可以了。...proxy_cache_key缓存的key nginx 配置了proxy_cache_key的话需要根据自定义的key来获取url的缓存hash值,默认的key一般都是完整的访问url 具体自己的nginx...缓存根目录是nginx中配置的,默认路径就不清楚了。

2.7K20
  • Nginx 负载均衡的Cache缓存批量清理的操作记录

    ;        表示301状态的页面资源缓存1天 proxy_cache_valid any 1m;       他缓存1分钟  3)清理cache缓存 [root@inner-lb01 ~]# ll...16:25 e drwx------ 20 www www 4096 Nov 21 16:24 f drwx------ 2 www root 4096 Nov 21 17:18 tmp 编写批量清理缓存的脚本...[root@inner-lb01 ~]# sh /opt/nginx_cache_clean.sh 请输入Nginx Proxy_cache缓存的具体路径(友情提示:可以使用Tab补全功能哦!)...上面脚本执行后,会提示输入cache的缓存目录,然后选择删除缓存文件的条件(这里我选择"按文件类型删除"),选择了删除html 、htm、js、css、jpg 、gif、 png 、jpeg 、bmp...html、js、css缓存----------------- 在本地开发的时候,经常会碰到缓存引起的莫名其妙的问题,最暴力的方式就是清掉浏览器的缓存,或者使用Ctrl + F5,Shift + F5强制刷新页面

    2K50

    系统缓存清理问题:系统缓存清理不当,影响系统性能

    明确缓存清理需求在优化之前,需要明确以下需求:清理目标:例如操作系统缓存(如 /var/cache)、应用程序缓存(如浏览器缓存、数据库缓存)。清理频率:每日、每周或按需清理。...示例缓存清理需求清单:需求项描述清理目标操作系统缓存 + 应用程序缓存清理频率每周一次保留时间超过 30 天的缓存文件性能评估当前磁盘占用 80%,预计释放 5GB2....制定缓存清理策略根据需求制定合理的缓存清理策略,避免误删重要缓存。(1)清理操作系统缓存删除 /var/cache 目录下的旧缓存文件。...# 示例:清理 APT 缓存sudo apt cleansudo apt autoclean # 示例:清理 YUM 缓存 sudo yum clean all(3)清理应用程序缓存删除应用程序生成的缓存文件...(1)综合清理脚本编写一个脚本清理系统缓存和应用程序缓存。#!

    8410

    Android实现清理缓存功能

    有时候项目中需要清理一些缓存数据(如:图片缓存、网络数据缓存等),当然也要对SharedPreferences存储的数据进行清理,当然App中有个这样的功能可能会提高逼格吧。...实现效果: [rwjw5xmwbu.gif] 在这里插入图片描述 该效果是根据之前demo基础上实现的,所以上面部分的作用主要是为了产生缓存,方便看到清除的效果。...这篇内容主要包括获取缓存的大小和对获取的缓存进行清除: 获取缓存的大小 /** * 获取整体缓存大小 * @param context * @return *...); 主要的功能点已经写的很清楚啦,到这里就结束了,需要完整demo的童鞋下方公众号回复:“清除缓存” 获取哦!...[在这里插入图片描述] 欢迎关注公众号(longxuanzhigu),获得更多福利、精彩内容哦! [在这里插入图片描述]

    5K20

    Nginx-helper纯代码版,文章评论发布自动清理Fastcgi缓存

    Nginx-Helper 这款插件主要用于 Nginx 的 Fastcgi 缓存或 Redis 缓存清理,用起来确实不错,堪称绝配!...感兴趣可以翻看博客之前的分享: Nginx 开启 fastcgi_cache 缓存加速,支持 html 伪静态页面 解决 Nginx Helper 插件一键清理缓存功能导致网站打不开问题 ?...经过代码编写、测试验证,一个简单的 Nginx-Helper 纯代码原创版本就新鲜出炉了。 Ps:2016 年 12 月 11 日更新:修复了文章更新发布无法清理首页缓存问题,请重新拷贝如下代码。.../** * WordPress Nginx FastCGI缓存清理代码(Nginx-Helper纯代码版) By 张戈博客 * 文章地址:https://zhangge.net/5112.html *...xml") { set $skip_cache 1; } 当然,如果是按照 Nginx-Helper 插件,那还能添加更多功能,比如清理订阅页面缓存什么的。

    1.2K70

    清理缓存中的头像

    这个地址时,浏览器的缓存已经是最新的了; 其实这是一种较为理想的状态,为什么呢?...这种情况是,在设置完成头像后,地址http://abc.com/a.gif再次请求的文件就是最新的了(也就是CDN在设置成功头像后,URL地址被清理过了)。...但同事给我一个地址却是我如此刷新都是旧的(据说会被CDN给缓存一天),但加了随机数后立马是最新的了。...但同时比上面那种方法麻烦一点,每次都得用JavaScript拼一次地址了~ 还得更新和设置版本号,如果cookie被清空了,版本号还不知道从多少算起呢~~~~ 所以最好的方式还是想办法去让后台在更新完图像后,马上清理掉...CDN中对图像URL的缓存(地址可能不止一个,如果图像有大、中、小三种规格) 讲了半天,还是看看代码,这段代码主要就是请求最新资源的公用方法。

    2.6K20

    Windows 10 电脑垃圾清理教程,缓存垃圾清理

    图片 这就是为什么需要垃圾清理。以下是Windows 10电脑垃圾清理教程: 1. 使用磁盘清理工具 Windows 10自带了一个磁盘清理工具,可以帮助您找到和清除不需要的文件。...打开“开始”菜单,搜索框中键入“磁盘清理”,并单击磁盘清理工具的图标。在弹出的窗口中,您可以选择要清除的文件类型,例如临时文件、日志文件、下载文件等。...清理浏览器缓存和Cookie 浏览器缓存和Cookie也会占用磁盘空间,并可能导致您的浏览器变慢。打开浏览器,并找到选项,然后选择“浏览数据”。...选择要清除的数据类型(例如,缓存、Cookie等),然后单击“清除数据”按钮。 清空浏览器缓存和Cookie后,您应该可以看到浏览器速度的明显提升。...图片 总之,这些是Windows 10电脑垃圾清理的主要方法,按照教程定期清理可以使您的计算机运行得更快更稳定。

    3.8K40

    Linux缓存管理:如何安全地清理系统缓存

    本文将详细介绍如何安全地清理Linux系统缓存,特别是在CentOS等系统中。目录Linux缓存管理:如何安全地清理系统缓存目录理解/proc/sys/vm/drop_caches为什么要清理缓存?...它可以有以下三个值:1: 清理页面缓存2: 清理dentries和inodes3: 清理页面缓存、dentries和inodes默认情况下,这个值是0,表示系统没有执行任何手动缓存清理操作。...为什么要清理缓存?在大多数情况下,让Linux内核自动管理缓存是最佳选择。...清理缓存的步骤以下是安全清理Linux系统缓存的步骤:切换到root用户(如果还不是root):sudo su -执行sync命令,确保所有待写入的数据都已经存储到磁盘:sync清理缓存:echo 3...使用sync:总是在清理缓存前运行sync命令,以防止数据丢失。选择性清理:根据需求,可以只清理部分缓存(使用1或2而不是3)。自动化:如果需要定期清理缓存,考虑创建一个脚本或设置定时任务。

    53400
    领券