Warum macht die Magento-Invalidierung des vollständigen Seitencachings beim Produktspeichern eine Seite tatsächlich zwischengespeichert und was bewirkt die Aktualisierung, da sie nicht zwischengespeichert wird?

Also Zwischenspeichern ist natürlich was verwirrt mich am meisten bei Magento, wie auch für die meisten anderen bin ich sicher. Derzeit eine der Seiten, auf die wir arbeiten, ist auf der Enterprise und nutzt FPC natürlich. Das problem ist, wir haben ein Inventar-update, das alle 15 Minuten fährt. Viele Aufträge platziert sind, um CSR-über das Telefon und durch einen Katalog in einem externen system außerhalb von Magento.

Alle 15 Minuten ein script lief, zu überprüfen Inventar in das system und zu sehen, ob es unterscheidet sich dann das, was in Magento. Wenn es einen Unterschied gibt, dann das Inventar ist in Magento aktualisiert. Mit allen Magento-Methoden, kein sql oder so etwas.

Haben wir immer hatten caching-Probleme und haben versucht, die neuesten Techniken, wenn Sie herauskommen. Die Letzte, wir sind versucht, Redis, und wir haben gute Erfolge auf anderen Seiten. Aber wir sind trotzdem verrückt Last auf dem server und es ist offensichtlich, dass die Seiten nicht zwischengespeichert werden.

Nach dem Graben in den code scheint es, dass nach immer jedes Modell speichern oder admin-Produkt-controller speichern Sie es sieht, um zu sehen, wenn der cache muss für ungültig erklärt werden. Es wird angezeigt, dass das ändern aller attribute, zumindest Inventar mark FPC benötigen, als ungültig erklärt werden.

Ich bin verwirrt über das, was Abwertung bedeutet, denn vor einer Weile hatten wir eine Frage aus, um Kunden-support über etwas ähnliches, und dies war die Antwort

Full-Page-cache erhalten
entwertet der Staat bei der änderungen auf die Produkte, Kategorien, CMS
auch wenn die Aktie sank nach einem Verkauf.

Nun bei full-page-cache wird für ungültig Staat bedeutet dies nicht,
dass sich etwas verändert auf Ihrem frontend jedoch alle änderungen angewendet
nach der letzten Aktualisierung wird nicht angezeigt im frontend.

Jedoch, wenn mit der FPC validiert und zu allen Zeiten ist ein muss für Ihre
business-Logik könnte man sicherlich setzen Sie Ihre Magento-Installation
aktualisieren Sie automatisch durch einen cron-Funktionalität, wie oft Sie
Wunsch.

Jedoch auf alle tests, die ich getan habe, auf beiden 1.9 und 1.11 Unternehmen, es wird angezeigt, wenn FPC ungültig ist, wird die Antwort nicht sein gezogen aus dem cache. Das ist widersprüchlich zu dem, was Sie gesagt haben, über die es einfach nicht mit den neueren updates.

Gibt es etwas, was ich bin fehlt? Hat jemand eine gute Erklärung dafür, wie die Aufhebungs-Werke in Magento speziell für FPC oder eine gute Anbindung, um vollständig zu verstehen, den Prozess und den code?

Können Sie versuchen, diese selbst für jede Seite, die ganze Seite gecached. Aber es ist mein Verständnis, dass die Methode processRequest im /app/code/core/Mage/Core/Model/Cache.php sollte der Inhalt mit den zwischengespeicherten Antwort und gibt true zurück, wenn die Seite im Cache zwischengespeichert werden.

Zu testen, gehen Sie auf keine Seite stellen Sie sicher, dass Sie es zwischengespeichert und true zurückgeben. Gehen Sie in Bearbeiten und ein Produkt, in unserem Fall die Menge. Hierdurch wird der FPC. Aber wenn Sie jetzt die Seite geladen, die zwischengespeichert wurde, bevor es den Wert false zurück in diese Methode und nicht eine zwischengespeicherte Seite. Ich weiß nicht, ob dies richtig ist, um in der Lage sein zu sagen, wenn eine Seite gecacht wird oder nicht, aber das ist, wo meine Untersuchungen führen mich. Bitte korrigieren Sie mich, wenn ich falsch bin.

UPDATE:
Bei der weiteren Untersuchung habe ich festgestellt, dass, wenn Sie speichern ein Produkt in der admin, der controller-Aktion

Mage_Adminhtml_Catalog_ProductController::saveAction()

aufrufen, die folgende Methode

Mage::getModel('catalogrule/rule')->applyAllRulesToProduct($productId)

Dann in der Mage_CatalogRule_Model_Resource_Rule Klasse, die applyAllRulesForDateRange Methode aufgerufen wird und dass löst das Ereignis

catalogrule_after_apply

Dem die Full-Page-Cache-Modul ist die Beobachtung und feuern die saubere cache-Methode für die FPC-tag. Im wesentlichen das löschen aller FPC-cache-Einträge.

Ich sehe nicht, warum dies ist notwendig, wenn zuvor die Logik ist clearing das FPC-Datensätze, die gebunden sind, um die Produkt-und Kategorie-tags. Ist das ein bug?

InformationsquelleAutor der Frage dan.codes | 2012-06-11

Schreibe einen Kommentar