簡體   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