使用Express和Mongodb查询API和数据库

时间:2016-01-04 02:37:32

标签: javascript json node.js mongodb api

请为我的逻辑/方法提供一些帮助。我想创建一个游戏服务器列表。所以人们可以通过输入

来添加他们的服务器
title, IP, port, about.

然而,在主页上我还想显示有多少玩家以及是否在线。如果它离线我不想显示它。现在我可以查询一个返回字符串的api。

{"players_online":22,"max_players":150,"gametype":"TNT"}

这些值通常会每60秒更改一次。

将2合并在一起的最佳方法是什么?我想将服务器基本信息存储在数据库中,但是诸如players_online之类的内容以及服务器是否需要至少每隔60秒检查一次。

1 个答案:

答案 0 :(得分:2)

根据我的经验,结合两者将导致大网格,我建议建议如下:

作业1:更新所有用户的活动状态,您可以拥有一个CRON作业来检查您的用户是否在线并更新数据库(我会也不建议这样做,而是使用一些缓存并定期更新缓存。

作业2 :创建可减少对数据库查询的架构

gameId -> gameName -> gammerId

1  ->   NFS -> g01
1  ->   NFS -> g02
2  ->   CS  -> g01

或(我推荐的架构)

gameId -> gameName -> listOfGammers
1 -> NFS -> g01, g02, g03
2 -> CS ->  g02, g05

通过这种方式,您可以减少对数据库的查询,如果您在单个游戏中有100个用户,您仍然可以获得符号行中的所有gammerId +您已经拥有从缓存中联机的用户列表。

希望有所帮助