Я работаю над совместным текстовым редактором, использующим websockets
.Я использую mongodb
в качестве базы данных.
У меня есть слушатель, и, как пользователь, я посылаю новые данные.Итак, я излучаю данные для каждого символа, введенного пользователем.Это работает нормально, и другой пользователь может видеть изменения в режиме реального времени.Скажем, у меня есть 2 пользователя: user1
и user2
.
И user1
, и user2
получают обновления в режиме реального времени.Но.проблема, с которой я сталкиваюсь, заключается в том, что если, скажем, user2
обновляет страницу, все изменения исчезают, пока user1
не будет отправлено новое сообщение.
Мое решение
Чтобы избежать этого, на стороне сервера при получении отправленного сообщения я сохраняю данные в базе данных.И всякий раз, когда пользователь обновляется, данные выбираются из базы данных.Но для каждого испускаемого сообщения (которое было бы огромным, как при каждом изменении символа, сообщение испускается), мне нужно будет вызвать базу данных и поместить данные.Повлияет ли это на производительность?Есть ли другой способ добиться этого?