java - 如何使用 Java 查找应用程序引擎数据存储中具有最大重复项的值?

标签 java google-app-engine servlets google-cloud-datastore

我有一个数据存储区,用于存储客户的出租车预订详细信息。在管理控制台中,我需要向管理员显示统计信息,例如最繁忙的位置、高峰时间、特定日期特定位置的总预订量。对于最繁忙的位置,我需要检索预订最多出租车的位置。我应该迭代整个数据存储并保留计数,还是有任何方法可以知道哪个位置具有最大和最小重复项。

我正在使用 ajax 调用 java servlet,它应该返回最繁忙的位置。

我还需要维护这样一个统计页面的建议。我是否应该为计数器和统计数据保留一个单独的实体类型,并在每次客户预订出租车时更新它,或者迭代统计数据页面的整个数据存储的逻辑是否正确。提前致谢。

最佳答案

关于您的数据模型和使用模式有太多未知因素,无法提供具体的解决方案,但我可以提供一些提示。

  1. 每次创建新记录时更新计数器都会增加 2 次写入操作的写入成本,这可能很重要,也可能不重要。

  2. 使用仅键查询非常便宜且快速。这是计算某些内容的首选方法,因此您应该尝试以仅键查询可以为您提供答案的方式对数据进行建模。例如,如果“行程”实体具有“起点 id”的属性,并且该属性已编入索引,则您可以使用仅键查询循环遍历您的位置,以计算从每个位置出发的行程数量.

假设您记录了大量行程,并且管理页面的访问/刷新不是很频繁,则仅键查询方法是可行的方法。如果管理页面每小时被访问/刷新多次,那么使用计数器可能会更好。

关于java - 如何使用 Java 查找应用程序引擎数据存储中具有最大重复项的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27242904/

相关文章:

java - 访问 Java Web 项目中的动态资源

java - SWT 覆盖取消按钮

java - 更改后自动重新加载 Java AppEngine Maven 项目

java - 数据存储区不显示 false boolean 值

Java Servlet - 当 servlet 是安全的时不同的 JSESSIONID。为什么?

java - 我可以在 StringTemplate 中使用字符串定界符吗?如果不是,什么是好的模板引擎?

java - 系统找不到指定的路径(MANIFEST.MF)

python-3.x - 无法将大文件上传到 GCP App Engine 中的 Python + Flask

java - 使用 JNDI 在 Tomcat 中共享 servlet session 对象和数据

java - 将 JavaScript 与 Java 后端集成