Как обновить записи у пользователя при добавлении новой записи другим юзером?

Пример - записи, комментарии и сообщения у ВК. Если тебе отправляет сообщение другой пользователь, в твоих личных сообщениях высвечивается новое письмо. Тебе не нужно обновлять страницу сообщений. То же самое касается записей и комментариев.
Как реализовать подобное? Я думаю, что запросы к бд каждые n-секунд - решение не эффективное. Какие есть другие варианты?
  • Вопрос задан
  • 58 просмотров
Пригласить эксперта
Ответы на вопрос 1
PQR
@PQR
Я думаю, что запросы к бд каждые n-секунд - решение не эффективное.


Зависит от СУБД. Если использовать классическую СУБД MySQL, то придётся делать запросы каждые n секунд.

Если же использовать другие системы, например Redis, можно подписываться на новые записи и получать их реактивно. Но для этого и само приложение (PHP скрипт) должно работать постоянно, что является отдельной темой для изучения.

Так что вопрос "не эффективности" скорее лежит в другой плоскости. Vk - это большая соцсеть. Но сколько у вас, конкретно в вашем приложении, планируется сообщений в секунду? Если это чатик местного сельпо и речь до сотнях сообщения в секунду или меньше - MySQL даже на средненьком хостинге справится по схеме "опрашиваем раз в несколько секунд, нет ли новых?", и это будет гораздо эффективнее с точки зрения трудозатрат на разработку, чем разбираться с демонтированным PHP и Redis.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы