Caching 如何使用Varnish缓存在不同位置为不同用户提供不同内容的主页?

Caching 如何使用Varnish缓存在不同位置为不同用户提供不同内容的主页?,caching,varnish,Caching,Varnish,我运行一个基于位置的市场网站,我计划使用Varnish来缓存大部分页面。问题是,我的主页将在不同的位置为不同的用户显示不同的内容 此位置通过两种方式检测。默认方式是将用户的IP转换为该位置,并将该位置存储在会话中。第二种方法是加载页面时,如果尚未加载,浏览器将使用浏览器地理位置询问用户的位置。然后,该浏览器地理位置值将覆盖默认的geoip位置,页面将被刷新 不同位置的用户会在用户附近看到不同的产品。通常,某个位置主页中的产品列表每十分钟刷新一次 在我使用清漆之前,我想问一下。在这种情况下,使用V

我运行一个基于位置的市场网站,我计划使用Varnish来缓存大部分页面。问题是,我的主页将在不同的位置为不同的用户显示不同的内容

此位置通过两种方式检测。默认方式是将用户的IP转换为该位置,并将该位置存储在会话中。第二种方法是加载页面时,如果尚未加载,浏览器将使用浏览器地理位置询问用户的位置。然后,该浏览器地理位置值将覆盖默认的geoip位置,页面将被刷新

不同位置的用户会在用户附近看到不同的产品。通常,某个位置主页中的产品列表每十分钟刷新一次


在我使用清漆之前,我想问一下。在这种情况下,使用Varnish缓存我的主页是否会获得巨大的性能优势?如何做到这一点?还有什么其他考虑?比方说,如果浏览器地理位置与基于IP的位置不同,那么它是否会相反地降低性能,因为很少访问的位置会出现大量缓存未命中。

因此,您所描述的场景是Varnish可以处理的,您可能必须强制重新加载页面,此外,您还希望避免对位置使用sesions,而是依赖cookie

如果它能给你带来很多好处,那么性能取决于你的流量和你有多少国家/地区组合。但与不使用varnish相比,缓存未命中不应降低性能