使用Express和Mongodb查询API和数据库
我需要一些帮助,我的逻辑/方法请。 我想创build一个游戏服务器列表。 所以人们可以通过input来添加他们的服务器
title, IP, port, about.
但是,在主页上我也想显示有多less玩家,以及它是否在线。 如果它离线我不想显示它。 现在,我可以查询一个返回类似string的api。
{"players_online":22,"max_players":150,"gametype":"TNT"}
这些值通常会每60秒更改一次。
将两者合并的最佳方法是什么? 我想将服务器基本信息存储在数据库中,但像players_online这样的东西以及服务器是否启动需要至less每60秒检查一次。
根据我的经验,两者都会导致大的网格,我build议以下build议:
作业1:更新所有用户的活动状态,可能你可以有一个CRON作业来检查你的用户是否在线,并更新数据库(我也不build议这样做,而是使用一些caching并定期更新caching) 。
作业2:创build将减less查询数据库的模式
gameId -> gameName -> gammerId 1 -> NFS -> g01 1 -> NFS -> g02 2 -> CS -> g01
或(我推荐的模式)
gameId -> gameName -> listOfGammers 1 -> NFS -> g01, g02, g03 2 -> CS -> g02, g05
通过这种方式,您可以减less对数据库的查询,如果单个游戏中有100个用户,则仍然可以获得signle行中的所有gammerIds +您已经拥有从caching中联机的用户列表。
希望有所帮助