Как использовать apc и memcache в одном проекте?
Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті.
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 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів