$cache_id = serialize($arParams);
$obCache = new CPHPCache;
if ($obCache->InitCache(3600, $cache_id)) { // тянем данные если они есть
$arResult = $obCache->GetVars();
}
elseif ($obCache->StartDataCache()) { // иначе запишем для того, чтобы следующий раз получить
$arResult = rand(0,100);
$obCache->EndDataCache($arResult);
}