เหตุใดแคชแบบเต็มหน้าจึงปิดใช้งานแคชบล็อก


13

ฉันมีส่วนคงที่ซึ่งรวมอยู่ในทุกหน้า (การนำทาง) แต่ใช้เวลานานในการสร้าง นั่นคือเหตุผลที่ฉันตั้งอายุการใช้งานแคชและคีย์แคชแบบสแตติก

ทำงานได้ดีจนกระทั่งเปิดใช้งาน FPC จากนั้นบล็อกจะถูกสร้างขึ้นอีกครั้งสำหรับเพจที่เรียกใหม่และไม่ได้แสดงจากแคชบล็อก

มีบรรทัดนี้ในEnterprise_PageCache_Model_Observer:

Mage::app()
    ->getCacheInstance()
    ->banUse(Mage_Core_Block_Abstract::CACHE_GROUP); // disable blocks cache

อะไรคือสาเหตุของสิ่งนี้? มันสมเหตุสมผลสำหรับฉันที่จะยังคงแคชบล็อกบางอย่างแม้ว่า FPC เปิดอยู่ - เพราะไม่เช่นนั้นการสร้างหน้าเว็บที่ไม่ได้รับการบริการอย่างเต็มที่จากแคชจะช้าลง

  1. การตัดสินใจออกแบบคืออะไร?
  2. ทางออกที่ดีคืออะไร?
  3. มันจะเป็นอันตรายหรือไม่ถ้าฉันเพิ่งลบแคชบล็อกนี้?

รู้ว่านี่เป็นคำถามเก่า แต่คุณพบอะไรในนี้
xelber

คำตอบ:


1

ข้อผิดพลาดนี้ได้รับการแก้ไขใน Magento 1.14.2.0 (อ้างอิงhttp://merch.docs.magento.com/ee/user_guide/magento/release-notes-ee-1.14.2.htmlภายใต้ปัญหาที่ทราบ)


2
ฉันเพิ่งเจอเรื่องนี้ในวันที่ 1.14.2.4 ฉันเห็นว่าตรรกะได้เปลี่ยนไปตามกาลเวลา รหัสถูกล้อมรอบด้วย if: if ($this->_processor->canProcessRequest($request) && ($request->isStraight() || $this->_processor->getRequestProcessor($request)) ) { Mage::app()->getCacheInstance()->banUse(Mage_Core_Block_Abstract::CACHE_GROUP); } แต่ฉันไม่สามารถหาเหตุผลเกี่ยวกับเหตุผลที่คุณห้ามแบนแคชบล็อก คุณสามารถสอนเพิ่มเติมได้หรือไม่
PanPipes

2

เพื่อให้สามารถปิดการใช้งาน FPC สำหรับบล็อกแบบไดนามิกเช่นในหน้าเช็คเอาต์หรือตะกร้า เกี่ยวกับคำถามที่ 3 ในความคิดของฉันคุณไม่ควรทำเช่นนี้ซึ่งอาจทำให้กระบวนการ FPC เสีย (ให้พูดตรงไปตรงมาเพื่อให้คำตอบที่ถูกต้องเราควรตรวจสอบซอร์สโค้ดด้วย)


ส่วนแรกของคุณเกี่ยวกับคำถามแรกของฉันหรือไม่ ถ้าใช่ทำไมต้องปิดการใช้งานแคชบล็อกเพื่อปิดการใช้งาน FPC ในหน้าชำระเงินหรือซื้อสินค้า ในความเป็นจริงแคชบล็อกถูกปิดใช้งานเฉพาะในกรณีที่ทั้งหน้าแคช
Alex

แค่ฉันตรวจสอบซอร์สโค้ดซึ่งควบคุมคุกกี้ของผู้ใช้ หากผู้ใช้บล็อกคุกกี้ FPC จะบล็อกแคช ฟังก์ชัน _getCookie ส่งคืนอินสแตนซ์ Enterprise_PageCache_Model_Cookie ซึ่งควบคุมคุกกี้ของผู้ใช้
OğuzÇelikdemir

สิ่งที่เกี่ยวข้องกับคุกกี้คืออะไร? และรหัสบรรทัดที่คุณพูดถึงคืออะไร? สับสน
Alex

อเล็กซ์คืนนี้ฉันจะตรวจสอบอีกครั้งและส่งบล็อคโค้ดที่จำเป็นให้คุณ
OğuzÇelikdemir
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.