проблема с 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);      
   }
}
Меня много больше беспокоят сами запросы к серваку каждые три секунды 
