javascript - JSON数据存储

标签 javascript json ajax database

我需要一个每 15 分钟运行一次的服务来生成“最新”的 JSON 供我们的 AJAX 服务使用。我们希望使用此 JSON 进行指标分析、图表等所有爵士乐。

每 15 分钟运行一次的原因是 JSON 生成需要长时间运行 - 查询至少需要 45-60 秒才能完成。随着我们应用程序需求的增加,这一数字预计还会增加。

编辑:我们从 SQL 数据库中提取所有数据。我们已经建立了一个巨大的关系数据库。快速、高效地向我们的网络用户提供数据是绝对必要的。因此,动态查询数据库以获取指标所需的所有数据并不令人满意,因为它花费的时间太长。

编辑 2 数据需要每 15 分钟完全重新生成一次。 JSON 数据需要几乎即时可用。我们不关心后台服务是否需要很长时间,只要它每 15 分钟生成一次 JSON 即可。

问题是我不确定如何存储这个 JSON。将生成至少 30-40 个单独的 JSON 对象并将其序列化为字符串以进行传输。我不确定应该如何存储这些字符串。而且,这 30-40 个只会随着时间的推移而增加。我们还预设了生成 JSON 的时间段,分别是 1 天、1 周、1 个月、3 个月、6 个月、1 年、2 年。

我考虑过使用平面数据库表,尽管我讨厌有几十列只有一行的表(这对我来说似乎不太合适)。我想知道是否可以在服务器上生成某种“data.json”文件,服务可以在必要时从中提取数据,但这是否有任何缺点?可以缓存吗? (缓存会破坏这一点)。

还有其他方法吗?专家能否对此给出中肯的意见?

最佳答案

由于数据将静态提供,而不是动态生成,因此我建议将它们存储为文本文件。它快速、简单且可扩展性良好。很容易对旧数据进行存档,或者如果不需要历史记录,您可以覆盖旧文件。

为了避免缓存 json 文件,您可以在客户端进行

$.ajax({ cache: false })

或者您可以在提供文件时在 header 服务器端执行此操作。您还可以在此处将缓存时间设置为 15 分钟,以最大程度地减少服务器上的负载。如何完成此操作取决于您使用的技术。

关于javascript - JSON数据存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24507190/

相关文章:

javascript - Bootstrap Modal - 根据 iframe 高度调整模态大小

java - 从 Android 客户端使用 POST 向 java 服务器发送数据并获取 JSON 响应

json - cbimport 不导入从 cbq 命令中提取的文件

java - Cassandra 的指标监控 native API

javascript - ajax responseText 显示为文本,而不是 html

javascript - 一个页面加载两个js函数

javascript - 渲染/包含 html 文件 Google Cloud Functions

Javascript - 在 Unicode 字符串和 ArrayBuffer 之间转换

javascript - 当表单从 AJAX 本身返回时,如何使用 JS 从表单获取数据?

ajax - 获取 URI 片段(哈希)会影响 SEO?被 SE 索引吗?