Как использовать apc и memcache в одном проекте?
apc используеться примерно так
bEnabled = extension_loaded('apc');
}
// получаем данные с памяти
function getData($sKey) {
$bRes = false;
$vData = apc_fetch($sKey, $bRes);
return ($bRes) ? $vData :null;
}
// сохраняем данные в память
function setData($sKey, $vData) {
return apc_store($sKey, $vData, $this->iTtl);
}
// удаляем данные с памяти
function delData($sKey) {
$bRes = false;
apc_fetch($sKey, $bRes);
return ($bRes) ? apc_delete($sKey) : true;
}
}
'table',
'color' => 'brown',
'size' => array(
'x' => 200,
'y' => 120,
'z' => 150,
),
'strength' => 10,
);
require_once('classes/apc.caching.php');
$oCache = new CacheAPC();
echo 'Данные: <pre>'; // Посмотрим что мы имеем
print_r($aData);
echo '’;
if ($oCache->bEnabled) { // Если APC доступен
$oCache->setData('my_object', $aData); // Сохраняем данные в памяти
$oCache->setData('our_class_object', $oCache); // Сохраняем объект класса в памяти
echo 'По теории, мы сохранили данные в памяти, нажмите <a href="ndex2.php">здесь</a> для проверки, действительно ли все там.';
} else {
echo 'Пакет APC не установлен, установите, а потом будете тестировать!';
}
memcache примерно тоже также.
apc — это кеш для байт-кода php, чтоб интерпретатор не интерпретировал каждый раз заново, а выполнял уже интерпретированный код из кеша, работает как модуль для php.
memcache — это хранилище ключ/значение в оперативной памяти, вешается на порт или unix-сокет.
почему тотже массив нельзя кешировать через memcache? как выбирать чем и когда кешировать?
еще один вопрос. когда оправдано использование этих технологий?

3 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів