微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

多个位置的 Nginx proxy_cache_lock

如何解决多个位置的 Nginx proxy_cache_lock

http {
    ...
    server {
        ...

        location /good { 
            proxy_cache mycache;
            proxy_cache_key $arg_cachekey;
            proxy_cache_valid 200 1h;
            proxy_cache_lock on;
            proxy_cache_lock_timeout 20m;
            proxy_cache_lock_age 20m;
            ...
            (upstream returning 200 with the content)
        }

        location /bad { 
            proxy_cache mycache;
            proxy_cache_key $arg_cachekey;
            proxy_cache_lock on;
            proxy_cache_lock_timeout 20m;
            proxy_cache_lock_age 20m;
            ...
            (upstream returning 404)
        }
    }
}

缓存是空的。请求:

GET /good?cachekey=123

/good 上游响应内容的一小段时间后,请求:

GET /bad?cachekey=123

/bad 位置的请求是否应该等到 /good 检索缓存并且 /bad 以 200 响应?如果不是,如何实现?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。