Javascript 在具有多个连接的数据库中快速分配游戏管理

Javascript 在具有多个连接的数据库中快速分配游戏管理,javascript,node.js,mongodb,redis,server,Javascript,Node.js,Mongodb,Redis,Server,我想运行一个服务器,可以快速分配游戏数据 简单的模型是: P1 joins P2 joins Make a game with P1 & P2 P3 joins P4 joins Make a game with P3 & P4 etc.. 但先进的设计是将逻辑与配对相关联 例如: P1 (A) joins. P2 (B) joins. P3 (C) joins. P4 (A) joins. Make game with P1 & P4 etc.. 到目前为止,我一直

我想运行一个服务器,可以快速分配游戏数据

简单的模型是:

P1 joins
P2 joins
Make a game with P1 & P2
P3 joins
P4 joins
Make a game with P3 & P4
etc..
但先进的设计是将逻辑与配对相关联

例如:

P1 (A) joins.
P2 (B) joins.
P3 (C) joins.
P4 (A) joins.
Make game with P1 & P4
etc..
到目前为止,我一直在使用Node+Mongo.js,但对我来说读写数据库似乎有些奇怪。使用内存中的结构是否可以更好地服务于此?我应该看看Redis吗

我在这里寻找效率。它不一定要有几十亿的联系,但应该容忍,比如说,世界上的象棋人口玩速度与类似的ELO排名相匹配的象棋游戏

使用内存中的结构是否可以更好地服务于此?我应该看看Redis吗

这可能主要取决于玩家愿意等待多久。持久地存储等待的玩家似乎没有多大意义,所以redis甚至没有持久性的redis可能更适合

[…]但应该容忍的是,比如说,世界象棋人口玩速度与类似ELO排名相当的象棋游戏


不管这意味着什么。。。5米?10米?不管是什么,您都可以以合理的价格获得16GB的RAM,因此数百万通常不会太麻烦,除非您每个条目存储数万字节。

我相信这可以通过多种方式实现-请扩展“与配对相关的逻辑”,以获得任何有意义的答案。我正在寻找整体结构。假设它只是通过类似的ELO评级匹配,或者像例子中的一个标志。当然,500万听起来是合理的。你认为node.js在这种规模下有什么样的延迟?可以通过哈希表或哈希索引查找另一个具有相同“游戏类型”(“A”、“B”、“C”)的条目。所花费的时间主要取决于实现细节,因为它是渐近O(1)。恒定时间应为微秒,因此您的网络延迟将比该值大很多个数量级。不用担心。。。