Tại sao bộ đệm toàn bộ trang vô hiệu hóa bộ đệm khối?


13

Tôi có một phần tĩnh được bao gồm trên mỗi trang (điều hướng), nhưng mất nhiều thời gian để tạo. Đó là lý do tại sao tôi đã đặt thời gian tồn tại của bộ đệm và khóa bộ đệm tĩnh.

Hoạt động tốt, cho đến khi FPC được kích hoạt. Sau đó, khối vẫn được tạo lại cho một trang mới được gọi và không được phục vụ từ bộ đệm khối.

Có dòng này trong Enterprise_PageCache_Model_Observer:

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

Lý do cho điều này là gì? Đối với tôi, vẫn có thể lưu trữ một số khối nhất định, ngay cả khi bật FPC - bởi vì nếu không thì việc tạo các trang không được phục vụ hoàn toàn từ bộ đệm bị chậm lại.

  1. Sự phân rã thiết kế đằng sau đó là gì?
  2. Một giải pháp tốt xung quanh đó là gì?
  3. Nó sẽ có hại nếu tôi chỉ gỡ bỏ lệnh cấm bộ đệm này?

biết đây là một câu hỏi cũ, nhưng bạn đã tìm thấy bất cứ điều gì về điều này?
xelber

Câu trả lời:


1

Lỗi này đã được sửa trong Magento 1.14.2.0. (ref http://merch.docs.magento.com/ee/user_guide/magento/release-notes-ee-1.14.2.html trong các vấn đề đã biết)


2
Tôi vừa mới bắt đầu điều này vào ngày 1.14.2.4. Tôi có thể thấy logic đã thay đổi theo thời gian. Mã được bao quanh bởi if: if ($this->_processor->canProcessRequest($request) && ($request->isStraight() || $this->_processor->getRequestProcessor($request)) ) { Mage::app()->getCacheInstance()->banUse(Mage_Core_Block_Abstract::CACHE_GROUP); } nhưng tôi không thể tìm thấy bất cứ điều gì về lý do đằng sau lý do tại sao bạn sẽ cấm bộ đệm. Bạn có thể khai sáng hơn?
PanPipes

2

Ví dụ, để có thể vô hiệu hóa FPC cho các khối động, trong trang thanh toán hoặc giỏ hàng. Về câu hỏi thứ 3, theo tôi, bạn không nên làm điều này có thể làm hỏng quá trình FPC (thành thật mà nói, để trả lời đúng, chúng ta cũng nên kiểm tra mã nguồn).


Là phần đầu tiên của bạn liên quan đến câu hỏi đầu tiên của tôi? Nếu có, tại sao bộ đệm khối cần phải được tắt để tắt FPC trong thanh toán hoặc trang giỏ hàng? Trong thực tế, khối bộ đệm chỉ bị vô hiệu hóa nếu toàn bộ trang được lưu trữ.
Alex

Chỉ cần tôi kiểm tra mã nguồn đang kiểm soát cookie người dùng. Nếu người dùng đã chặn cookie, FPC sẽ chặn bộ đệm. Hàm _getCookie trả về phiên bản Enterprise_PageCache_Model_Cookie đang kiểm soát cookie người dùng.
Oğuz elikdemir

Điều đó có liên quan gì đến cookie? Và bạn đang nói về dòng mã nào? bối rối
Alex

Alex, tối nay tôi sẽ kiểm tra lại và gửi cho bạn các khối mã cần thiết.
Oğuz elikdemir
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.