SetInterval MySQL запрос каждую секунду - PullRequest
0 голосов
/ 22 марта 2019

Я хотел бы внедрить очень маленький и простой групповой чат на свой веб-сайт без использования сторонних библиотек или чего-либо еще.

Поэтому я подумал об использовании jQuery Ajax и функции setInterval Javascript.

При загрузке страницы у меня будет div со всеми сообщениями чата внутри, которые были опубликованы до сих пор + скрытый ввод с максимальным (id) чата-таблицы в базе данных. Затем я запускаю setInterval с ajax-запросом к базе данных каждую секунду, который возвращает все новые сообщения (id> то, что находится в скрытом вводе), добавляет их в DOM и обновляет скрытый ввод до нового max (id).

Кроме того, я подумал об удалении всех сообщений старше 48 часов из базы данных, чтобы таблица чата была очень маленькой.

Есть ли у вас какие-либо проблемы по этому поводу? Это существенно ухудшит производительность сайта?

На сайте может одновременно находиться до 100 одновременно работающих пользователей, но только половина из них будет иметь доступ к чату.

1 Ответ

0 голосов
/ 22 марта 2019

Есть пара вещей, на которые стоит обратить внимание:

Внешний интерфейс (ваш код jQuery) не может общаться с базой данных. Вам нужен сервер настроен. так как вы используете Javascrpt / jquery во внешнем интерфейсе, я предлагаю узел, это тот же язык, поэтому вам не придется изучать другой язык.

Есть много вещей, которые вам понадобятся, сервер (я предлагаю узел (экспресс)), доступ к веб-сокету (я предлагаю socket.io), база данных (я предлагаю redis для простоты).

без использования сторонних библиотек - просто не вариант, даже простые чаты намного сложнее и сложнее, чем первоначально предполагалось.

...