【问题标题】:Caching the data result of complex computation缓存复杂计算的数据结果
【发布时间】:2016-01-19 14:55:10
【问题描述】:

我有一个 Spring Boot 服务器应用程序。该服务器的客户端一直要求有关不同事物的统计信息。这些统计数据可以在客户端之间共享,并且不能是实时的。

如果这些统计信息每 15-30 分钟刷新一次就足够了。

此外,计算这些统计数据需要读取整个数据库。

所以,我想缓存这些计算出的统计数据并不时更新它们。

您有什么建议,我应该使用什么工具或模式?

到目前为止,我有以下想法:

  • using memcached

  • 升级到具有 JSON 存储的 MySQL 5.7,并将数据存储在那里

请记住,我的服务器硬件不是太强大:512MB RAM 和 1 个 CPU(DigitalOcean 中最便宜的选项)。

提前谢谢你!

编辑1:

这些统计数据由非常简单的数据结构组成:int 到 int 映射、列表等,它们不适合关系数据库。

编辑 2:

整个数据只有几兆字节。关键点是创建这些数据需要大量的数据库读取,并且很多客户都要求这样做。 我还想让我的服务器应用程序保持无状态。我认为这很重要。

【问题讨论】:

  • 如果您要随时保存统计数据(随着数据的变化,stuff 的发生)。关键指标,不是一切。
  • @Drew 这也是一个选项,但我应该如何存储它,以及存储在哪里?
  • 我们甚至不知道它是什么。分享您想要的任何内容,或将内容更改为我们可以击败的稻草人。我很乐意提供一些建议
  • 我编辑了这个问题。有帮助吗?
  • 在下面question这位绅士展示了一张桌子,并谈到了他的pv_namevalue专栏。我会用 pv_names 的指标表(尽管很大)来回答这个问题。他的指标可以随时可用而无需计算。他有相当限制性的问题。所有的问题都不一样。大多数 OP 只是丢球,从不继续提供良好的反馈。所以我们消失在下一个问题上,或者看 Netflix

标签: mysql spring caching memcached


【解决方案1】:

解决问题的一个简单方法是将 JSON 格式的数据保存到文件中,仅此而已。 此外,这个文件可以在 ram 磁盘分区上,所以它会非常快。

【讨论】:

    猜你喜欢
    • 2010-12-05
    • 2014-01-25
    • 1970-01-01
    • 2012-06-26
    • 1970-01-01
    • 2015-02-23
    • 1970-01-01
    • 2011-06-21
    • 2012-06-15
    相关资源
    最近更新 更多