Jak zwykle w przypadku CMS, najwięcej trafień występuje, dopóki jest on „nowy”. Chciałbym buforować dane wyjściowe strony przy pierwszym renderowaniu dla danego okresu, aby zmniejszyć duże obciążenie wymagane do ich wygenerowania.
Pracowałem na podstawie dokumentacji JCache i opracowałem podstawowe mechanizmy, jak pokazano tutaj:
$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"
Utknąłem, próbując ustalić, gdzie powinienem utworzyć pamięć podręczną, a następnie „słodkie miejsce”, aby użyć tej pamięci podręcznej, zanim cała praca zacznie się od nowa.
but I can't find any core joomla code where the cache is being set.
Tylko uwaga - to$cache->get
metoda wewnętrzna