Như thường thấy với một CMS, hầu hết các lần truy cập xảy ra trong khi nó vẫn còn "mới". Tôi muốn lưu trữ đầu ra trang vào lần đầu tiên nó được hiển thị trong một khoảng thời gian nhất định để giảm khối lượng công việc nặng cần thiết để tạo ra nó.
Tôi đã làm việc từ tài liệu JCache và có các cơ chế cơ bản hoạt động như được hiển thị ở đây:
$cache = JFactory::getCache('MyCache', '');
$cache->setCaching(true);
$cache->setLifeTime(86400); //24 hours
$cache_id = 'MyCache_page_123';
$cached_page= $cache->get($cache_id);
if (!empty($cached_page)) {
$the_page_output = $cached_page;
}else{
$the_page_output = ...<div>the generated view HTML</div>....
$cache->store($the_page_output, $cache_id);
}
// echo or return "$the_page_output"
Tôi bị mắc kẹt khi cố gắng xác định nơi tôi nên tạo bộ đệm, sau đó là "điểm ngọt" để sử dụng bộ đệm đó trước khi tất cả công việc bắt đầu lại.
but I can't find any core joomla code where the cache is being set.
Chỉ cần một lưu ý - đó là$cache->get
phương pháp bên trong