我有一个位于 nginx 服务器后面的图像调整大小服务器。
在冷缓存上,请求同一文件的两个客户端可能会触发两个调整大小作业。
client-01.net GET /resize.do/avatar-1234567890/300x200.png
client-02.net GET /resize.do/avatar-1234567890/300x200.png
如果在这种情况下只有一个请求能够通过后端(而另一个客户端被设置为“保持”),那就太好了。
在 Varnish 中似乎有这样一个功能,叫做请求合并。不过这似乎是 Varnish 特有的术语。Nginx 有类似的术语吗?
答案1
也许,“缓存锁”就是你要找的?
- http://nginx.org/r/proxy_cache_lock(如果您使用 HTTP 代理)
- http://nginx.org/r/fastcgi_cache_lock(快速CGI)