【问题标题】:Query API and database using Express and Mongodb使用 Express 和 Mongodb 查询 API 和数据库
【发布时间】:2016-04-07 15:26:17
【问题描述】:

我需要一些关于我的逻辑/方法的帮助。我想创建一个游戏服务器列表。所以人们可以通过输入来添加他们的服务器

title, IP, port, about.

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

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

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

将两者合并在一起的最佳方法是什么?我想将服务器基本信息存储在数据库中,但像 player_online 和服务器是否启动之类的内容需要至少每 60 秒检查一次。

【问题讨论】:

    标签: javascript json node.js mongodb api


    【解决方案1】:

    根据我的经验,将两者结合起来会产生大网格,我建议建议如下:

    工作 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 + 您已经从缓存中获得在线用户列表。

    希望有帮助

    【讨论】:

      猜你喜欢
      • 2020-04-30
      • 2019-07-14
      • 1970-01-01
      • 1970-01-01
      • 2020-09-28
      • 2014-06-19
      • 1970-01-01
      • 2017-05-12
      • 2022-01-23
      相关资源
      最近更新 更多