繁体   English   中英

清漆缓存和购物车

[英]Varnish Cache & Shopping Carts

我最近一直在研究Varnish并进行一些重要的谷歌搜索。 我们最近在我们运行电子商务网站的服务器上预期了圣诞节。 我们将在未来几周内增加回访,所以使用Varnish似乎是一个好主意。

我想知道是否有人可以为我澄清一些事情 - 当使用Varnish时,如果用户第一次到达它会检测到新的cookie(因为会话用于购物车)并缓存他们访问的页面。

但是,如果我们想要缓存超过客户重复访问,我在一个单独的stackoverflow线程上看到,使用以下内容编辑.vcl将帮助它缓存页面,即使使用了session_start:

     sub vcl_recv {
     unset req.http.Cookie;
     return (lookup);
     }

     sub vcl_fetch {
     unset beresp.http.Set-Cookie;
     set beresp.ttl = 24h;
     return(deliver);
     }

我的问题是 - 我对缓存的具体内容感到有些困惑。 这会缓存某人的购物车,从而为该产品页面的所有访问者提供服务吗?

如果我在这里错过了Varnish的基本观点,我会道歉; 在最糟糕的情况下,它可以帮助减轻回访的负担,但缓存更多的网站会更好!

首先十分感谢

Varnish不会(默认情况下)使用设置Cookie缓存页面。 Cookie将状态引入HTTP,因此Varnish无法知道页面是否已更改。

您上面的代码段不会解决您的问题。 它只会完全删除Cookie标头。 (即PHP后端不会收到会话cookie。)

根据您网站的确切位置,您可能希望:

  • 保持行为不变:例如,如果您在页面上有一些位置,说明您不希望缓存登录用户的用户名。 基本上在这种情况下,Varnish只会缓存来宾的内容(即没有会话的用户)
  • 如果您在每个页面上都没有这样的依赖于用户的框,则可以将所有内容缓存在与用户相关的(例如购物车)页面之外。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM