uwsgi_cache

uwsgi_cache 指令为来自 uWSGI 的响应指定了一个共享缓存。 — NGINX HTTP Core

uwsgi_cache
httpserverlocation
语法uwsgi_cache zone;
默认值none
上下文http, server, location
模块NGINX HTTP Core
参数1

说明

在 NGINX 配置中,`uwsgi_cache` 指令用于定义一个缓存区域,该区域存储来自 uWSGI 应用的响应,通过减少加载时间来提升应用性能。每次 NGINX 向上游 uWSGI 服务器发出请求并收到响应时,该响应可以被存储到指定的缓存中以供后续请求使用。这样可以加速对通常需要 uWSGI 应用处理的重复请求的响应,允许直接由 NGINX 提供缓存的响应,而无需反复调用应用本身。 该指令需要一个参数,用来指定先前使用指令 `uwsgi_cache_path` 定义的缓存区域名称。缓存的行为还可以通过其他指令控制,例如 `uwsgi_cache_key`、`uwsgi_cache_valid` 和 `uwsgi_cache_bypass` 等。正确配置这些附加指令对于有效管理缓存条目并根据响应类型或请求条件控制缓存过期时间至关重要。 需要注意的是,缓存功能依赖于 uWSGI 应用返回的响应头来确定内容是否应被缓存以及响应应存储多长时间。在负载较重的 Web 应用中,尤其是在高流量情况下,缓存策略可以显著提升性能。

配置示例

http {
    uwsgi_cache_path /tmp/uwsgi_cache levels=1:2 keys_zone=uwsgi_cache:10m inactive=60m;
    server {
        location /api {
            include uwsgi_params;
            uwsgi_pass uWSGI_backend;
            uwsgi_cache uwsgi_cache;
            uwsgi_cache_valid 200 30m;
        }
    }
}

确保缓存路径可访问并设置了适当的权限。

监控缓存大小和使用情况,避免过度占用磁盘空间。

注意不要缓存不应共享的敏感数据。

请记得正确处理缓存失效,以确保内容已更新。