Регистрирайте се безплатно, за да използвате услугите на сайта! | Вход
Начало Новини ИТ Работа Форум Видео Уроци Скриптове WiFi точки MyLinks Mytech Още


Нова тема
Cache Db query
Тази тема е погледната 196 пъти
Добави темата към любими | Принтирай темата | Нова тема 
Публикувано на: 25.10.2008 12:16
FrAnGo
Калфа

Мнения: (36)

Здравейте на всички!

Наскоро ме обзе нещо за по бързо действие на заявките не че ми е мн. нужно, но започнах да си правя cache на заявчиците с serialize() в някакво фаилче и после ги пресичам ако има cache, но не съм мн. сигорен дали после този сериализиран низ не се разопакова по бавно от колкото да си направя заявка към базата и почнах да ги меря с
CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        $mtime = microtime();
       
$mtime = explode(' ', $mtime);
       
$mtime = (double) $mtime[0] + $mtime[1];
       
$tstart = $mtime;
   
      
//заявчица!

       
$mtime = microtime();
       
$mtime = explode(' ', $mtime);
       
$mtime = $mtime[1] + $mtime[0];
       
$tend  = $mtime;
       
$totaltime = ($tend - $tstart);

echo "<br>".$totaltime;

При по-малките заявки ми даде мисля че добри резултати, но при по големи низове мн. зе да се бави. По-големи имам предвид от около нп. база с градове и села която е към 5000 записа.

Та искам да питам имали друг вариант за cache на заявките освен с serialize и дали си заслувава цялата хамалогия. Разгледах и други classove за cache и те ползват въпросната функция.


 
---------------------------
Потребител от: 13.02.05 | Всички уроци от FrAnGo | Всички скриптове от FrAnGo
напиши eMail напиши лично съобщение виж профила на FrAnGo
Публикувано на: 25.10.2008 15:57
Miro
Ронин

Модератор

Мнения: (308)

Но другите класове при кеш не бавят на такива данни не бавят нали :)


 
---------------------------
Потребител от: 22.09.06 | Всички уроци от Miro | Всички скриптове от Miro
напиши eMail напиши лично съобщение виж профила на Miro
Публикувано на: 25.10.2008 18:47
FrAnGo
Калфа

Мнения: (36)

Определено    класа на пеара Cache е доста по бърз. Маи него ще впрегна.


 
---------------------------
Потребител от: 13.02.05 | Всички уроци от FrAnGo | Всички скриптове от FrAnGo
напиши eMail напиши лично съобщение виж профила на FrAnGo
Публикувано на: 11.11.2008 23:20
gatakka
Калфа

Мнения: (13)

mysql има вхрадена система за кеширане на завките.По-добра от нея няма.
Пуска се много лесно от my.cnf и определяш колко RAM да отиде за кеш.
100% гарантирано че няма да имаш стара информация,което е възможно с други кеширащи системи.

А иначе най-ефективния начин за кеш е на изхода.Тоест кешираш целия html преди да го пратиш към браузъра (или частите които те интересуват)
Там вече са минали заявките и самото изграждане на html които са тежките процеси.
Самия процес на сериализация и десериализация (особенно при големи записи) може да е много по-бавен от самата заявка.Да не говорим за времето за I/O операции а и няма как наистина да знаеш дали информацията не е била сменена вече в базата.Тоест има но е сложно за реализация.

Като цяло използвай готови и доказали се системи за кеш ако наистина искаш да ползваш кеширане.
Pear,Zend framework са 2-най-добри за мен.


 
Това мнение е редактирано от gatakka на 11.11.2008 23:23
---------------------------
Потребител от: 07.11.08 | Всички уроци от gatakka | Всички скриптове от gatakka
напиши eMail напиши лично съобщение виж профила на gatakka
 1 посетител чете тази тема (0 потребители и 1 гост)  
Активни потребители: ---
   




mytech.bg © 2004 - 2009 | Контакти | За реклама