Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 我是否需要在数据库中存储房间中的当前用户?socket.io_Node.js_Mongodb_Websocket_Socket.io_Chat - Fatal编程技术网

Node.js 我是否需要在数据库中存储房间中的当前用户?socket.io

Node.js 我是否需要在数据库中存储房间中的当前用户?socket.io,node.js,mongodb,websocket,socket.io,chat,Node.js,Mongodb,Websocket,Socket.io,Chat,我想做一个聊天应用程序,用户可以创建频道。我需要存储此数据的位置: 频道名称:聊天室1 用户: 用户1 用户2 用户3 “此数据”指的是一个频道内的当前用户。我想我需要这些数据来获取一个频道中的当前用户,将当前用户显示给新加入的用户等等。您不需要将这些数据存储在数据库中。它可以作为对象数组或对象映射存储在内存中。如果我有很多用户,这种方法危险吗?这取决于你的可用内存:)你想要有多少用户?使用redis比使用直接变量更好。我想把房间信息和用户ID存储在房间内的阵列上。我计划拥有100-500个

我想做一个聊天应用程序,用户可以创建频道。我需要存储此数据的位置:

频道名称:聊天室1

用户:

  • 用户1
  • 用户2
  • 用户3

“此数据”指的是一个频道内的当前用户。我想我需要这些数据来获取一个频道中的当前用户,将当前用户显示给新加入的用户等等。

您不需要将这些数据存储在数据库中。它可以作为对象数组或对象映射存储在内存中。

如果我有很多用户,这种方法危险吗?这取决于你的可用内存:)你想要有多少用户?使用redis比使用直接变量更好。我想把房间信息和用户ID存储在房间内的阵列上。我计划拥有100-500个房间如果您想存储诸如房间名称、创建者、描述和其他属性之类的业务信息,您可以同时存储这两种信息。将实时数据(标识符)保存在内存中,将业务数据保存在数据库中。您还可以通过REST或GraphQL调用获取业务数据,例如房间列表,通过websocket获取实时数据。