SimonSmith
Мастер
- Регистрация
- 25 Сен 2008
- Сообщения
- 148
- Реакции
- 34
- Автор темы
- #1
Добрый день,
решил использовать memcache. Прочитал статью на Для просмотра ссылки Войдиили Зарегистрируйся, вроде все понятно, только немного не понятно как все работает.
Есть простой скрипт
при выполнении срипта таким образом страницы загружается за ~0.8 - 0.4 сек, если выводить на прямую функцию loadC() то страница загружается за ~1.5 - 0.8 сек...
Как бы это и есть работа мемкэша или я что-то не правильно делаю?
п.с. знаю что мемкеш используется для снижения нагрузки на базу данных но может и для этого примера должно работать?
пробовал сделать так:
если не ошибаюсь после первого запроса к базе, 2ой запрос не должен исполнятся и я удаляю все что в ife , вывожу переменную var_dump($f) и результат bool(false)...
Почему? или не так?
решил использовать memcache. Прочитал статью на Для просмотра ссылки Войди
Есть простой скрипт
PHP:
$memcache = new Memcached();
$memcache->addServer('localhost', 11211);
function loadС(){
for($i=0;$i<=900000;$i++){
$aResult[] = $i;
}
}
if (!($bar = $memcache->get('array_bar'))){
$bar = loadC();
$memcache->set($bar, 'array_test', 60*10);
}
if (!($foo = $memcache->get('array_foo'))){
$foo = loadC();
$memcache->set($foo, 'array_test', 60*10);
}
var_dump($bar);
var_dump($foo);
при выполнении срипта таким образом страницы загружается за ~0.8 - 0.4 сек, если выводить на прямую функцию loadC() то страница загружается за ~1.5 - 0.8 сек...
Как бы это и есть работа мемкэша или я что-то не правильно делаю?
п.с. знаю что мемкеш используется для снижения нагрузки на базу данных но может и для этого примера должно работать?
пробовал сделать так:
PHP:
if (!($f = $memcache->get('array_sql'))){
$sql = $db->query("SELECT `name_j` FROM `jurnals`");
$aResult[] = array();
while($aRows = $sql->fetch_array()){
$aResult[] = $aRows['name_j'];
}
$f = array('data'=>$aResult);
$memcache->set($f, 'array_sql', 60*10);
}
если не ошибаюсь после первого запроса к базе, 2ой запрос не должен исполнятся и я удаляю все что в ife , вывожу переменную var_dump($f) и результат bool(false)...
Почему? или не так?