@Stricker

Как хранить в бд id socket'a для отправки сообщений?

Приветствую. Проблема такая - при каждом коннекте к серверу Socket.IO для клиента создается на моменте handshake уникальный айди, чтобы отправить этому клиенту какое-либо сообщение - нужно знать его id.
Как быть? Записывать его в базу при каждом коннекте?

У меня лишь идея сделать в Redis что-то вроде users_online и хранить в виде user_id => socket_id. В Redis потому что он работает же в памяти, поэтому все обращения к нему будут быстрее.

P.S. Redis же сохраняет данные на диск периодически, как быть чтобы она была Only-Memory?
  • Вопрос задан
  • 2866 просмотров
Пригласить эксперта
Ответы на вопрос 1
MarcusAurelius
@MarcusAurelius Куратор тега Node.js
автор Impress Application Server для Node.js
Не нужно хранить в базах, храните в памяти, нода тоже всегда в памяти, не обязательно обращаться к внешнему процессу типа редиса. Если же процесс парадет, то и его соединения падают и эти ID уже ни кому не нужны. Если процессов несколько, то используйте шины сообщений, ZeroMQ, RabbitMQ и т.д.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы