請告訴我,這些概念有什麼區別?我沒有在Varnish的文件中找到任何答案。他們只是操作這些概念,沒有更多。普通清漆:beresp&resp之間的區別,bereq & req; req.ttl&beresp.ttl
什麼是最好的緩存:緩存控制頭beresp.ttl或max-age?
如果你可以用很少的例子做 - 做到這一點,請:)
請告訴我,這些概念有什麼區別?我沒有在Varnish的文件中找到任何答案。他們只是操作這些概念,沒有更多。普通清漆:beresp&resp之間的區別,bereq & req; req.ttl&beresp.ttl
什麼是最好的緩存:緩存控制頭beresp.ttl或max-age?
如果你可以用很少的例子做 - 做到這一點,請:)
REQ:只要它在上光油到達請求值。
bereq:請求轉到後端。來自req的所有變量被自動分配到bereq。但是,這些值可能略有不同,因爲Varnish可能會修改客戶端請求。例如,來自客戶端的HEAD請求可能會轉換爲對後端的GET請求。
beresp:後端respose。 beresp中的任何更改都會影響resp和obj這是緩存的對象。 提示:如果您想要獲取有關對象的任何其他信息,請將其設置爲beresp。
響應:傳遞給客戶端的響應。所有的beresp值被傳遞到resp。
解釋完所有名稱後得出結論:req.ttl是從請求中接收到的TTL,除非您對其進行了不同的配置,否則就意味着什麼都沒有。 beresp.ttl是要設置您的對象的TTL的那個。
至於什麼是最好的緩存,清漆已獲得最大年齡,並將其設置爲beresp.ttl。所以最終沒有區別。採用這種方法的困難在於,一些網絡應用程序不能正確對待並最終總是發送nocache
,導致清漆無法緩存。在這些情況下,您應該忽略beresp.http.cache-control中的內容並設置您自己的TTL。
一些相關的閱讀材料可以在Varnish Book subroutines section中找到。
「最終總是發送nocache,導致Varnish無法緩存」 - 或者可能取消設置並設置我的緩存控制,對不對? 並且可以關於req.ttl的更多細節?因爲你寫了「這意味着什麼,除非你配置不同」。這是什麼意思? 其餘的,非常感謝,詳盡的答案。 –
你說得對。 關於req.ttl,它來自請求者,它不是由你的應用程序或清漆設置的東西,大多數時候它應該被忽略,除非你希望你的請求者能夠設置對象ttl。 – alejdg
,除非你想讓你的請求者能夠設置對象ttl - 我想理解的主要內容:)非常感謝! –