php чат занимает много памяти!JQuery, PHP и MySQL - PullRequest
1 голос
/ 15 мая 2011

Итак, я создал чат с jquery php и mysql. Он также использует ajax. Так вот код

Страница процесса PHP:

$result = mysql_query("SELECT *
                         FROM messages 
                     ORDER BY id DESC  
                        LIMIT 30") or die(mysql_error());

while($row = mysql_fetch_array($result)) {
  if($row['correct'] == 1) {
    $correct = "<font color='green'>";
  } else {
    $correct = "<font color='red'>";
  }

  echo $correct;
  echo $row['name']. ": ". $row['message'] . "</font>";
  echo "<br />";
}

Мой JQuery на странице индекса выглядит так

$(document).ready(function() {
  $('form[name=answer]').submit(function() {
    validate();
    return false;
  });

function validate() {
  $.post("http://localhost:8888/school/procees.php", 
          {answer: $('input[name=answer]').val(),
          questionid: $('input[name=questionid]').val(), 
          name: $('input[name=id]').val()}, 'json');
}

setInterval(function() { 
  $('#about').load('maketable.php');
}, 1000);

});

Я понимаю, что для запуска проверки и последующей распечатки всего требуется много памяти. Я не знаю, как это сделать другим способом. Предложение и критика кода приветствуется. Как я могу улучшить это?

Ответы [ 2 ]

3 голосов
/ 15 мая 2011

Узел (js) был создан для этого точного сценария поддержки высокого параллелизма с минимальными издержками Объедините его с socket.io , и у вас есть HTML5-сокеты с запасным вариантом для старых устройств.

Хотите увидеть живой пример этого в вашей системе? Просто клонируйте этот проект на github.

1 голос
/ 15 мая 2011

есть другой код, который вы используете здесь, который может / может не помочь - я бы сказал, что если это живой чат, рассмотрите возможность использования типа таблицы MEMORY в mysql - он очень быстро читает, что делает его хорошим кандидатом тип приложения.

Убедитесь, что ваши запросы ajax запрашивают только те данные, которые вы еще не загрузили - это может помочь.

Если вам нужна дополнительная помощь, нам также понадобится увидеть код maketable.php ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...