java - Java 谷歌应用引擎的轻量级数据结构

标签 java google-app-engine

我有一个基于谷歌应用程序引擎的应用程序,它将数据存储在数据存储区中。我想实现一个 cron,每天读取大约 20k 行数据,并将数据汇总成一个更小的数据集,并将其存储在一个轻量级、易于访问的数据结构中,稍后我将使用它为用户提供谷歌图表。

我认为每次用户需要图表时读取所有实例级数据的成本太高,因此我想每天“提前”编译一次数据。

我正在考虑以下选项,并且我对任何能够优化性能并最小化 GAE 开销的反馈或方法感兴趣。

选项:

1) 创建一个小的 csv 或 xml 文件并将其保存在服务器本地,然后从那里读取数据

2)在数据存储中保留另一个“摘要级别”对象并读取它(仍然可能很昂贵?)

3) 创建 google 图表 SVG 并将其存储在本地,然后重新将其提供给用户(不确定这是否可行)

谢谢!

最佳答案

仔细检查,但我认为数据存储+内存缓存最终可能是最便宜的。

在您的 cronjob 中,您可以预先计算需要为每个图表返回的数据,并将其存储在数据存储区和内存缓存中。

对于每个图形请求,您都会从内存缓存中获取数据。 然而,Memcache 数据可以随时删除,因此,如果那里不可用,您可以从数据存储中读取数据并将其放回 memcache。

关于java - Java 谷歌应用引擎的轻量级数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17642010/

相关文章:

google-app-engine - appengine localhost 上的 glass java 启动项目

google-app-engine - 在 App Engine 数据存储区的等效查询之间?

Java Swing 用鼠标移动形状

java - 如何转义java中的某些字符

java - 在多个操作系统上工作时 Eclipse 中所需的 Java 库

google-app-engine - App Engine 数据存储区 - 开发服务器限制

python - 如何在 Google App Engine 服务上运行的应用程序之间共享登录 cookie?

Java 12 intellij 开关表达式不起作用

java - JSF 2.0 : Delay rendering (composite) component's contents until AJAX-call re-renders it

java - Android 模拟器上的 ListView 中未显示数据