配置 proxy_cache_valid 指令的示例

简介: 【10月更文挑战第2天】

关于配置 proxy_cache_valid 指令的详细示例和解释:

proxy_cache_valid 指令用于定义不同状态码的缓存有效期。以下是一个具体的示例:

proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache_zone:10m max_size=1g;

server {
   
    listen 80;

    location / {
   
        proxy_pass http://backend;
        proxy_cache my_cache_zone;

        proxy_cache_valid 200 30s;
        proxy_cache_valid 301 1m;
        proxy_cache_valid 302 1m;
        proxy_cache_valid 404 10s;
        proxy_cache_valid 500 5m;
    }
}

在这个示例中,我们为不同的状态码设置了相应的缓存有效期:

  1. 状态码 200:表示成功的响应,缓存有效期为 30 秒。这意味着对于正常的网页内容,在 30 秒内如果再次有相同的请求,将直接从缓存中返回,而无需再次向后端服务器请求。
  2. 状态码 301 和 302:重定向状态码,缓存有效期为 1 分钟。这是因为重定向通常是相对稳定的,在短时间内不太可能频繁改变。
  3. 状态码 404:未找到资源的状态码,缓存有效期为 10 秒。由于 404 表示资源不存在,所以缓存的时间较短,避免占用过多不必要的缓存空间。
  4. 状态码 500:服务器内部错误状态码,缓存有效期为 5 分钟。虽然出现 500 错误的情况较少,但设置一定的缓存时间可以减少对后端服务器的压力,在短期内避免再次出现错误时频繁请求后端。

需要注意的是,这些缓存有效期的设置需要根据实际的业务需求和资源特性进行合理调整。如果缓存有效期设置过长,可能会导致陈旧的数据被返回;如果过短,则可能会增加后端服务器的负担。

此外,还可以根据具体的应用场景进一步细化缓存有效期的设置。比如,对于一些经常更新的资源,可以设置较短的缓存有效期;而对于一些不常变化的静态资源,可以设置较长的缓存有效期。

同时,还可以结合其他缓存相关指令,如 proxy_cache_use_stale 等,来进一步优化缓存策略,提高缓存的利用率和性能。

目录
相关文章
|
存储 Ubuntu 网络协议
|
Web App开发 Linux
只需五步,在Linux安装chrome及chromedriver(CentOS)
只需五步,在Linux安装chrome及chromedriver(CentOS)
7600 1
|
Linux
Centos6配置阿里云yum源报错
在CentOS 6配置阿里云Yum源时,可能出现EPEL仓库访问报错(404 Not Found)。解决方法:编辑`/etc/yum.repos.d/epel.repo`文件,将`enabled`和`gpgcheck`参数设为0 ``` 此设置可解决仓库无法访问的问题。
2544 29
|
3月前
|
前端开发 JavaScript API
一个案例教你彻底搞明白`AbortController` 、`AbortSignal`
今天这个案例,最硬核、最扎心、最真相、最干脆、最不墨迹、最不留情面、最一针见血、最开门见山、最单刀直入、最不铺垫、最不客套、最不煽情、最不废话、最不拐弯、最不磨叽、最不装、最不端着、最不啰嗦、最不拖沓、最不委婉、最不掩饰、最不藏着掖着、最直白、最彻底、最决绝、最了当。
219 1
|
缓存 应用服务中间件 Apache
缓存代理服务器的实现机制和技术选型
缓存代理服务器是一种特殊的代理服务器,其主要功能是缓存从目标服务器(通常是Web服务器)获取的数据,并在客户端再次请求相同数据时直接提供缓存的数据。通过缓存代理服务器可以加快访问速度并减轻目标服务器的负载。
906 117
|
11月前
|
移动开发 小程序 JavaScript
uniapp
uniapp
1712 130
|
运维 Ubuntu Linux
Linux重置root用户密码
本文详细介绍了Linux系统中root密码重置的核心技能,涵盖主流发行版如RHEL、CentOS、Debian、Ubuntu、Arch、openSUSE等的实操方法。内容包括通过GRUB引导编辑、单用户模式和Live CD救援三种方式重置密码的具体步骤,适配物理机、虚拟机及云服务器环境。文章分步解析了启动拦截、权限获取和密码重置三大阶段,并提供各发行版的实际操作代码示例,帮助管理员快速解决忘记root密码的问题。
|
监控 jenkins Shell
jenkins结合gitlab实现CI(持续集成)
通过本文的介绍,我们详细了解了如何结合Jenkins和GitLab实现持续集成。从环境准备、插件配置到Pipeline任务创建和CI流程监控,每一步都提供了详细的操作步骤和示例代码。希望本文能帮助开发者快速搭建起高效的CI系统,提高项目开发效率和代码质量。
1929 9
|
安全 Java 数据安全/隐私保护
APP加固技术及其应用
在移动应用开发过程中,APP加固技术起到了非常重要的作用。APP加固是将apk文件进行混淆加密,以防止别人反编译获取我们的源码和资源文件。目前市场上主流的APP加固公司有三家,分别是梆梆加固、360加固和ipagurd加固。本文将介绍APP加固的概念、加固方案和比较,并探讨APP加固在实际开发中的应用。