Просто если к примеру каждые 5 секунд интервалом делать запрос
setInterval("get_message()", 5000);
function get_message() {
$.post('plugin/chat/chat_func.php?type=get_message', {}, function(data) {
$('#load_message').html(data.html);
});
}
А в php:
function get_message() {
$html = '';
$res = mysql_query("SELECT * FROM chat ORDER by id DESC LIMIT 20");
while($row = mysql_fetch_assoc($res))
{
$html .= '<div>'.$row["message"].'</div>';
}
$result->html = $html;
echo json_encode($result);
}
Это убьёт сервак наверно) 200 человек каждые 5 секунд делают по запросу, это 7000 запросов в минуту пипец..
Подскажите как будет сделать правильно!
Спустя 16 минут, 8 секунд (22.02.2011 - 01:01) jetistyum написал(а):
ну как ни крути, либо сервак брать мощнее, либо обновлять реже.
можно делать какой-то кэш выборки из бд, и отдавать его всем, кто запрашивает
время жизни кэша - 5 сек. кеш хранить в мемкеше например. можно аппликуху в фастцги завернуть... но думаю что даже на обычных запросах, если все более-менее оптимально, сервер не должен умереть.
можно делать какой-то кэш выборки из бд, и отдавать его всем, кто запрашивает
время жизни кэша - 5 сек. кеш хранить в мемкеше например. можно аппликуху в фастцги завернуть... но думаю что даже на обычных запросах, если все более-менее оптимально, сервер не должен умереть.
Спустя 16 минут, 46 секунд (22.02.2011 - 01:18) web-monster написал(а):
Ну как вариант ещё можно передавать id последнего сообщения и дёргать только их. А ещё вопрос как лучше делать, append через jquery или iframe?
Спустя 7 минут, 47 секунд (22.02.2011 - 01:26) web-monster написал(а):
А если например сделать отдельный php скрипт который каждые 5 секунд будет запускаться кроном, выдёргивать последние 50 сообщений и писать их в массив. А все пользователи будут обращаться к этому массиву(фаилу) и брать сообщения оттуда по последнему переданному id?
Спустя 6 часов, 50 минут, 30 секунд (22.02.2011 - 08:16) Семён написал(а):
dklab_multiplexor:
Спустя 42 минуты, 38 секунд (22.02.2011 - 08:59) Snus написал(а):
web-monster
Пишешь в кукис время последнего сообщения и дергаешь, начиная с него. При загрузке страницы пишешь текущее время в кукис.
Пишешь в кукис время последнего сообщения и дергаешь, начиная с него. При загрузке страницы пишешь текущее время в кукис.