缓存复杂计算的数据结果
Caching the data result of complex computation
我有一个 Spring 引导服务器应用程序。该服务器的客户端一直要求有关不同事物的统计信息。这些统计数据可以在客户端之间共享,并且不能是实时的。
如果这些统计信息每 15-30 分钟刷新一次就足够了。
另外,计算这些统计数据需要读取整个数据库。
所以,我想缓存这些计算的统计数据并时不时更新它们。
你有什么建议,我应该使用什么工具或模式?
目前我有以下想法:
正在升级到 MySQL 5.7,其中有 JSON 存储,并在那里存储数据
请记住,我服务器的硬件不是太强大:512MB RAM 和 1 CPU(DigitalOcean 中最便宜的选项)。
提前致谢!
编辑 1:
这些统计数据由非常简单的数据结构组成:int 到 int 映射、列表等,它们不适合关系数据库。
编辑 2:
整个数据只有几兆字节。关键是创建这些数据需要大量的数据库读取,而且很多客户都要求这样做。
我还想让我的服务器应用程序保持无状态。我认为值得一提。
该问题的一个简单解决方案是将数据以 JSON 格式保存到文件中,仅此而已。
另外,这个文件可以在ram磁盘分区上,所以速度会非常快。
我有一个 Spring 引导服务器应用程序。该服务器的客户端一直要求有关不同事物的统计信息。这些统计数据可以在客户端之间共享,并且不能是实时的。
如果这些统计信息每 15-30 分钟刷新一次就足够了。
另外,计算这些统计数据需要读取整个数据库。
所以,我想缓存这些计算的统计数据并时不时更新它们。
你有什么建议,我应该使用什么工具或模式?
目前我有以下想法:
正在升级到 MySQL 5.7,其中有 JSON 存储,并在那里存储数据
请记住,我服务器的硬件不是太强大:512MB RAM 和 1 CPU(DigitalOcean 中最便宜的选项)。
提前致谢!
编辑 1:
这些统计数据由非常简单的数据结构组成:int 到 int 映射、列表等,它们不适合关系数据库。
编辑 2:
整个数据只有几兆字节。关键是创建这些数据需要大量的数据库读取,而且很多客户都要求这样做。 我还想让我的服务器应用程序保持无状态。我认为值得一提。
该问题的一个简单解决方案是将数据以 JSON 格式保存到文件中,仅此而已。 另外,这个文件可以在ram磁盘分区上,所以速度会非常快。