通常CMSの場合と同様に、ほとんどのヒットはまだ「新しい」間に発生します。ページ出力を生成するために必要な重いワークロードを減らすために、ページ出力を特定の期間に初めてレンダリングするときにキャッシュしたいと思います。
私はJCacheのドキュメントから作業してきましたが、基本的な仕組みは次のように解決されました。
$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"
キャッシュをどこに作成するべきか、そしてすべての作業が再開される前にそのキャッシュを使用するための「スイートスポット」を決定することを試みて立ち往生しています。
but I can't find any core joomla code where the cache is being set.
ただのメモ-それは$cache->get
メソッドの中にあります