Php Nginx:如何连续缓存响应?

Php Nginx:如何连续缓存响应?,php,performance,nginx,load-balancing,nginx-config,Php,Performance,Nginx,Load Balancing,Nginx Config,我在后端有一个restapi,这个api由Nginx缓存(TTL大约为10m) 但在Nginx缓存过期和再次建立缓存之间,我对后端api的调用次数有问题 在如此短的时间内调用的次数太多,导致服务器过载 如果超过,如何连续发送缓存响应?(文档:过多的请求会被延迟,直到它们的数量超过最大突发大小,在这种情况下,请求会以 在后端处理新响应时,是否可以使用Nginx发送以前缓存的响应?是否可以在突发限制事件上设置自定义触发器 任何建议或例子将不胜感激 正如Igor(Nginx背后的人)在这里提到的:

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

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

在如此短的时间内调用的次数太多,导致服务器过载

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

在后端处理新响应时,是否可以使用Nginx发送以前缓存的响应?是否可以在突发限制事件上设置自定义触发器

任何建议或例子将不胜感激

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

您可以在请求中使用“somesecretheader:1”绕过缓存,然后 设置:proxy\u no\u cache$http\u some\u secret\u头;答案可能是 缓存

(来源)


另一种选择是在此处使用“缓存清除”模块

请检查一下-一种方法是在后台安装一个cron,每隔10米更新一次缓存,并让所有请求始终从缓存获取。如果cron出现问题,那么用户将获得以前的缓存。@MagnusEriksson谢谢,这可能是更好的解决方案,但我需要调整Nginx以满足需要now@Dmitry非常感谢。当突发限制超过时,是否可以将以前缓存的响应发送到客户端而不是503错误?其思想是持续向用户发送缓存响应,而不是拒绝请求。