Создаем объект для применения кэширования:

$cache = & JFactory::getCache(); 

Для просмотра результатов кэширования можно использовать класс JProfiler:

<?php
// Create the profiler object.
$profiler = new JProfiler();
 
// Do some stuff.
echo $profiler->mark( ' seconds to do stuff' );
 
?>

Кэширование функции, не являющейся частью массива:

$rows  = $cache->call( 'testFunction' );

Если функция часть массива:

$rows = $cache->call( array( 'TestClass', 'testMethod' ) );

Если метод получает переменные:

$rows = TestClass::testMethod( $table );

то так:

$rows  = $cache->call( array( 'TestClass', 'testMethod' ), $table );

Чтобы кэширование применялось всегда - независимо от глобальных настроек, используем код:

$cache->setCaching( 1 );

Для очистки кэша:

$cache->clean();

Кэширование для функции объекта:

$model =& $this->getModel('filer' );

делается так:

$record	=& $cache->call( array( $model, 'getRecord' ) );