gpt4 book ai didi

Java,关于缓存大量 GB 的策略有帮助吗?

转载 作者:行者123 更新时间:2023-11-30 03:45:43 26 4
gpt4 key购买 nike

我们正在处理天气数据以及存储在数据库中的大约十年的气象站数据。我们构建了一个 REST API,给定一天、一个站点和一个测量变量,以 JSON 格式返回数据。构建小型应用程序的性能很好,但一些查询不适合高流量。

我们正在考虑缓存(和预缓存)每个日站变量的 JSON 数据。最初我们虽然使用 Redis,但问题是我们的数据高达 400Gb。

以下是我寻求帮助和类似经历时的情况:- 将数据转储到磁盘文件(其中每个文件都包含日站变量查询的 JSON 结果)是个好主意吗?- 有使用 EhCache 或 JCS 的经验吗?他们适合这个吗?

干杯。

最佳答案

我的 2 美分用于大型数据存储。

首先,它不足以满足基于文件的数据存储解决方案。这基本上表明您的数据受磁盘 IO 限制,并且您很难实现像 Oracle 这样的任何商业数据库对其磁盘 IO 访问所做的优化,即使您是“基于对象的文件结构”。我过去缓存此类数据的经验是使用内存缓存技术,例如 Coherence 缓存。基本上,您构建了一个服务器集群,每个服务器都具有大量内存(例如 48GB),并将所有对象缓存在内存中。将其视为具有可以配置的冗余因子的大型 HashMap 。您可以以自定义方式定义您的 key 。

其次,很明显您的解决方案受到空间限制,您可以考虑将一些压力转移到 CPU 限制上 - 通过压缩 JSON 格式;或者存储二进制数据并实时转换为 JSON。这应该能够将您的数据缩小到很大的比例。您需要选择正确的格式,这样 CPU 就不会过载,但我认为这种情况不太可能发生。

以上基于查询是单一的假设,即查询(日期,车站)的单一组合。如果您有其他频繁的查询,那么需要使用一些支持数据结构,例如索引。

关于Java,关于缓存大量 GB 的策略有帮助吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25758458/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com