Nginx:如何持续缓存响应?

时间:2021-04-12 07:54:00

标签: php performance nginx load-balancing nginx-config

我在后端有一个 REST api,这个 api 由 Nginx 缓存(TTL 约为 10m)。

但是在 Nginx 缓存过期并再次建立缓存之间,我对后端 api 的调用次数有问题。

这么短的时间内调用次数太多,导致服务器过载。

如果 Nginx burst limit 超过,如何持续发送缓存响应? (文档:过多的请求会被延迟,直到它们的数量超过最大突发大小,在这种情况下,请求会以 error 终止)

enter image description here

当我的后端正在处理一个新的响应时,我可以用 Nginx 发送以前缓存的响应吗?是否可以对突发限制事件进行自定义触发?

enter image description here

任何建议或示例将不胜感激!

1 个答案:

答案 0 :(得分:1)

正如这里提到的 Igor(Nginx 背后的人):

<块引用>

您可以在请求中使用“Some-Secret-Header: 1”绕过缓存,并且 设置:proxy_no_cache $http_some_secret_header;回应可能是 缓存。

(来源 https://forum.nginx.org/read.php?2,99559,99567#msg-99567

另一种选择是在此处使用“缓存清除”模块https://www.nginx.com/resources/wiki/modules/