Я создаю компонент веб-страницы, который требует относительно постоянного опроса базы данных.Я вижу два разных подхода для этого, и мне интересно, если один из них лучше, чем другие, или я пропускаю третий вариант.
1) Отправлять AJAX-запрос каждые 1 или2 секунды, чтобы проверить наличие обновлений.Каждый запрос немедленно возвращается, независимо от того, есть ли новые данные.
2) Запустите один запрос AJAX, который не будет возвращаться до тех пор, пока он не получит данные или не истечет время ожидания.При любом из этих событий он запускает следующий запрос.(Я думаю, это называется длинным опросом?)
Количество запросов к базе данных будет одинаковым с любым из них, но с # 2 было бы меньше запросов на запуск из браузера, что могло бы сэкономить пропускную способность и ресурсы клиента.Для сервера, лучше ли иметь один PHP-запрос, который остается активным и спит между запросами, или он запускается каждые несколько секунд, опрашивает БД, а затем выключается?Или нет никакой разницы, и я слишком много об этом подчеркиваю?
РЕДАКТИРОВАТЬ: я полагаю, я должен также заявить, что это виджет чата большого веб-приложения.Небольшая задержка в общении не убьет пользователя, так как чат является второстепенной функцией.