请为我的逻辑/方法提供一些帮助。我想创建一个游戏服务器列表。所以人们可以通过输入
来添加他们的服务器title, IP, port, about.
然而,在主页上我还想显示有多少玩家以及是否在线。如果它离线我不想显示它。现在我可以查询一个返回字符串的api。
{"players_online":22,"max_players":150,"gametype":"TNT"}
这些值通常会每60秒更改一次。
将2合并在一起的最佳方法是什么?我想将服务器基本信息存储在数据库中,但是诸如players_online之类的内容以及服务器是否需要至少每隔60秒检查一次。
答案 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 +您已经拥有从缓存中联机的用户列表。
希望有所帮助