gpt4 book ai didi

php - Varnish 缓存和购物车

转载 作者:搜寻专家 更新时间:2023-10-31 21:16:23 24 4
gpt4 key购买 nike

我最近一直在研究 Varnish 并进行了大量的 Google 搜索。我们最近在我们运行电子商务网站的服务器上设置了这个以迎接圣诞节。我们将在接下来的几周内增加回访,因此使用 Varnish 似乎是个好主意。

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

但是,如果我们想要缓存的不仅仅是客户的重复访问,我在一个单独的 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 header 。 (即您的 PHP 后端将不会接收 session cookie。)

根据您网站的具体外观,您可能想要:

  • 按原样保留行为:例如,如果您在页面上的某个位置显示登录用户的用户名,则您不希望将其缓存。基本上在这种情况下,Varnish 只会为访客缓存内容(即没有 session 的用户)
  • 如果您没有在每个页面上都有这样一个用户相关的框,您可以缓存除用户相关(例如购物车)页面之外的所有内容。

关于php - Varnish 缓存和购物车,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7766729/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com