首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >架构:用猫鼬创建一个时间可过滤的主板系统

架构:用猫鼬创建一个时间可过滤的主板系统
EN

Stack Overflow用户
提问于 2020-10-23 20:03:36
回答 1查看 126关注 0票数 1

这个问题更像是一个基于架构的问题。我有一个网站,其中有3个PVP (玩家对玩家)游戏。每个游戏都有自己的mongoDB集合,它的文档具有时间戳、金额(点数)和参与者的属性。

我想要创建一个主板系统,从所有这3场比赛中检索数据,并显示谁在前10种风格中获胜最多。此系统最有可能通过HTTP端点进行访问。我也希望这个排行榜能按时间过滤:前10名从上周/月/年/所有时间开始。

问题

随着用户数据库的增长和更多游戏的创建,每次命中端点时计算表的时间都会越来越长。页面加载时间需要超长时间。

初始思想

技术

猫鼬,快递,Nuxt(Vue),Socket.io

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-23 21:19:02

我建议采用某种缓存方案。我要考虑的两个基本方法是:

  • 创建一个服务,该服务自动将领导板制表并缓存或保存到另一个mongo对象。然后向客户端提供缓存版本。这个选项很好,因为它创建了一个历史记录,可以在将来提供有趣的功能。
  • 缓存您的快速服务中的响应,并且只在某个频率上更新它。正如这里所解释的:https://medium.com/the-node-js-collection/simple-server-side-cache-for-express-js-with-node-js-45ff296ca0f0,这种方法的风险是,当生成主板时,如果您有并发请求,它可能会严重地攻击您的mongo服务器。

在不了解所有细节的情况下,我将选择第一个选项,因为它不受并发请求的影响,并且可以在将来通过某种历史性的领导板特性进行扩展。

至于过滤,我建议使用vue引导中的表。数据很容易在表中表示,排序是内置的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64506627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档