Magento 1.x EE FPC speichert die gesamte Seite im Cache. Es gibt jedoch einige Abschnitte auf der Seite, die während der Customer Journey neu erstellt werden müssen. Wenn Sie beispielsweise ein Produkt in den Warenkorb legen, sollte der Minicart aktualisiert werden.
Es macht keinen Sinn, FPC zu haben, wenn wir den gesamten Cache jedes Mal ungültig machen, wenn der Kunde ein Produkt in den Warenkorb legt. Da der Warenkorb auf allen Seiten sichtbar ist, müssen wir den gesamten Cache leeren, um den aktualisierten Warenkorb zu sehen.
Um dieses Problem zu beheben, haben sie Cache-Container eingeführt. Sie finden diese Container unter app/code/core/Enterprise/PageCache/Model/Container
.
Dadurch wird der spezifische Abschnitt der Seite neu erstellt, indem die Cache-ID überprüft wird. Die ID kann eine Kombination aus mehreren Variablen, Cookies und Konstanten sein. Der Zweck dieser ID besteht darin, den Abschnittscache bei Bedarf ungültig zu machen.
Z.B
Wenn Sie überprüfen, wird Enterprise_PageCache_Model_Container_Minicart
die Cache-ID mit der folgenden Methode generiert
public static function getCacheId()
{
$cookieCart = Enterprise_PageCache_Model_Cookie::COOKIE_CART;
$cookieCustomer = Enterprise_PageCache_Model_Cookie::COOKIE_CUSTOMER;
return md5(Enterprise_PageCache_Model_Container_Advanced_Quote::CACHE_TAG_PREFIX
. (array_key_exists($cookieCart, $_COOKIE) ? $_COOKIE[$cookieCart] : '')
. (array_key_exists($cookieCustomer, $_COOKIE) ? $_COOKIE[$cookieCustomer] : ''));
}
Jedes Mal, wenn das Zitat aktualisiert wird, wird diese Cache-ID aus dem Cache gelöscht.
Enterprise_PageCache_Model_Observer::registerQuoteChange
. Bei der nächsten sofortigen Anforderung kann das System den Inhalt dieser Cache-ID nicht finden. So wird der Inhalt neu generiert und im Cache gespeichert.Enterprise_PageCache_Model_Container_Minicart::_renderBlock
Das Cookie CUSTOMER_SEGMENT_IDS wird im Enterprise_PageCache_Model_Container_Banner
Container verwendet. Banner können basierend auf Kundensegmenten angezeigt werden. Kundensegmente können unter verschiedenen Bedingungen einschließlich Kundenadressvariablen erstellt werden. Die Länge dieses Cookies hängt von den Kundensegmenten ab.
Der Zweck dieses Cookies besteht darin, die Cache-Abschnitte ungültig zu machen und Banner basierend auf Kundensegmenten anzuzeigen. Wenn Sie diese Funktion nicht verwenden, können Sie sie entfernen. Die empfohlene Lösung besteht darin, die Headergröße vom Server zu erhöhen.
Hoffe das hilft!