Varnish 微缓存

Varnish 微缓存

微缓存和 Nginx 确实可以加快应用程序速度。是否可以将微缓存(或类似的东西)与 Varnish 一起使用?

答案1

如果您要花费大量时间缓存动态响应 - 即使只有 1 秒 - 您也需要确保您缓存的数据是安全的。

即不包含任何会话/用户特定数据

一旦你这样做了——你也可能让缓存持续到它必须失效/过期的地步。所以你所描述的做法的好处实际上并不存在。

数据可以安全缓存而无需进行任何应用程序修改(即不包含购物车内容/用户信息等) - 在这种情况下,您可以启用无限期缓存直到下一次清除...或者...您必须重新编码您的应用程序以确保它仅在数据可以缓存时发送“可缓存”标头 - 并编辑您的 VCL,以便在必要时使缓存的会话无效。

我认为它唯一适合的情况是用于虚荣测试 RPSabsiege......

答案2

如果您所说的微缓存是指非常低的 ttl。那么是的。Varnish 可以做到这一点。

对于 Varnish 3.x:

在函数末尾的 sub vcl_fetch() 中(或其他逻辑位置):

设置beresp.ttl = 1s;

请记住“shortlived”参数(默认为 10 秒)。创建时 TTL 短于此的对象始终会放入临时存储中。默认情况下,Varnish 将使用无限 malloc 进行临时存储。

相关内容