Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Кеширование SQL в memcached

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Подскажите, как кешироват запросы в memcached
_oleg_
Отправлено: 20 Ноября, 2014 - 15:57:01
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Нояб. 2014  


Помог: 0 раз(а)




Скажите, можно в кеш заносить результаты работы mysql_query ?

что-то у меня в итоге ничего не получается.

PHP:
скопировать код в буфер обмена
  1.     $memcache = new Memcache;
  2.     $memcache->connect('localhost', 11211) or die('Can not connect to memcache');
  3.  
  4. if($memcache->get('1')) { // если в мемкеше есть ключ            
  5.     $query = $memcache->get('1');
  6. } else {
  7.     $query = mysql_query("SELECT * FROM on_files");
  8.     $memcache->set('1', $query, false, 90);
  9. }


Вот такая конструкция не работает, подскажите, что я не так делаю ?

Хотя если записывать вместо запроса простую переменную, то все работает

(Отредактировано автором: 20 Ноября, 2014 - 16:01:55)

 
 Top
Sail
Отправлено: 20 Ноября, 2014 - 16:15:56
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




_oleg_ пишет:
PHP:
скопировать код в буфер обмена
  1. $query = mysql_query("SELECT * FROM on_files");
  2.     $memcache->set('1', $query, false, 90);

Вот такая конструкция не работает, подскажите, что я не так делаю ?

Хотя если записывать вместо запроса простую переменную, то все работает

А смысл кэшировать дескриптор результата запроса?

(Отредактировано автором: 20 Ноября, 2014 - 16:16:53)

 
 Top
esterio
Отправлено: 20 Ноября, 2014 - 16:17:13
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




mysql_query - возвращает ресурс на результат. а ресурс даже не сериализируеться. заносите в мемкеш уже готовый массив результатов
 
 Top
_oleg_
Отправлено: 20 Ноября, 2014 - 16:43:07
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Нояб. 2014  


Помог: 0 раз(а)




спасибо
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB