我有一个关于Varnish服务过期的“增加”项目的问题。假设以下情形:
当第一个客户端获取index.php时,他将等待5秒钟。因为没有缓存的index.php项,所以客户端将等到后端服务器生成内容。
对于下一分钟,下一个客户端将不会等待index.php,将提供缓存版本。
分钟过后,以下客户端将再次等待5秒钟。 (由于1小时宽限期,此5秒窗口中的所有后续请求都将获得缓存内容。)
在生成内容时,不是让客户端等待5秒,Varnish是否可以在varnish获取新内容时提供过期(增加)的index.php?这样,index.php将始终每1分钟更新一次,而不会让客户端等待。
更新
我发现了这个:http://lassekarstensen.wordpress.com/2012/10/11/varnish-trick-serve-stale-content-while-refetching/
虽然看起来有点难看。
答案 0 :(得分:1)
据我所知,目前的稳定版本不可能,但Barn Varnish 4将支持背景提取。您可以在VUG8的主题演讲slides中找到有关Varnish 4的更多信息。
答案 1 :(得分:0)
你似乎是对的Arjan。
来自:https://www.varnish-cache.org/releases/varnish-cache-4.0.0-tp1
完整的流媒体支持,包括异步后端提取。这使得Varnish能够在从后端获取或重新验证对象时为过时的对象提供服务。