Показать сообщение отдельно
  #11 (permalink)  
Старый 09.11.2012, 13:07
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

проблема с mySQL легко обходится.
можно выжать приемлимый результат через memCache и PDO

на глазок, как то так наверно.

$memcache = new Memcache;
$memcache->connect('127.0.0.1', 11211) or die ("Could not connect");
$pdo = new PDO('mysql:host=localhost;dbname=имябазы', $username, $password);

// ниже попытка создать униерсальные функции 1я для извлечения данных, вторая для insert или update

//для извлечения
function smartQuery($query ,$memkey,$time){
     // сначало посмотрим нет ли инфы в мемкеше
     $get_result = $memcache>get($memkey);
     if ($get_result) {
          $res=$get_result;
     }
     //если нет то смотрим инфу в бд
     else {
          // Получить данные из базы и создать кэш
         $pdo->prepare($query);
         $pdo->execute();
         $row=$pdo->fetch();
 
         //найденную инфу запишем в мем кэш
         if ($time!=NULL && $memkey!= NULL) $memcache>set($memkey, $row, TRUE, $time); 
         $res=$row;
     }
      return $res
}

//для insert update
function smartExecute($query, $dat, $memkey,$time){
      // запишем инфу в мем кеш
      if ($time!=NULL && $memkey!= NULL) $memcache->set($memkey, $dat, TRUE, $time); 

      // запишем инфу в бд
      $q = $pdo->prepare($query);
      //в массив $dat походу ещё перед ключами двоеточие бы добавить, но лень думать :)
      $q->execute($dat);  
}

//юзать
class modelUser{

   function load($id){
         $dat=smartQuery('select......', 'user_'.$id, 600);        
  }
 
   function save(){
          smartExecute( 'update......', какие то данные, 'user_'.$id, 600);      
   }
}


Меня много больше беспокоят сами запросы к серваку каждые три секунды
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 09.11.2012 в 13:37.
Ответить с цитированием