uwsgi_cache_lock
`uwsgi_cache_lock` 指令用于在 NGINX 中使用 uWSGI 缓存机制时启用或禁用缓存锁定。 — NGINX HTTP Core
uwsgi_cache_lock
httpserverlocation
语法uwsgi_cache_lock on | off;
默认值off
上下文http, server, location
模块NGINX HTTP Core
参数flag
说明
`uwsgi_cache_lock` 指令用于在 NGINX 中使用 uWSGI 缓存机制时启用或禁用缓存锁定。当该指令设置为 'on' 时,如果对当前正在生成的缓存内容发起请求,其他对相同内容的请求将被锁定,直到第一个请求完成。这样可以减少对同一请求的重复处理,提高资源利用率,并降低并发请求的响应时间。默认情况下,如果未设置该指令,缓存将不进行锁定,这可能导致在多个请求同时发生时出现多次内容生成。 该指令与 `uwsgi_cache` 指令相互作用,后者负责定义用于缓存 uWSGI 响应的缓存区。将 `uwsgi_cache_lock` 设置为 'off' 会允许对同一未缓存资源的多个并发请求,这可能会导致应用后端负载增加。您可以在 http、server 或 location 上下文中指定此指令,根据您的缓存策略和架构提供灵活性。可以通过其他缓存指令进一步微调缓存行为,以根据应用需求确保最佳性能。
配置示例
uwsgi_cache my_cache;
uwsgi_cache_lock on;
location /example {
uwsgi_pass my_app;
uwsgi_cache my_cache;
}⚠
在启用锁定之前,确保已为有效缓存定义 uwsgi_cache。
⚠
如果您的应用可以容忍多个请求同时处理,请避免启用 `uwsgi_cache_lock`。