google-app-engine - 如何获取数据存储中表中的行数?

标签 google-app-engine count size google-cloud-datastore

在许多情况下,使用 Google Application Engine 了解数据存储区中表(一种)的行数可能很有用。
没有明确和快速的解决方案。至少我还没有找到……你找到了吗?

最佳答案

您可以使用 Datastore Statistics 有效地获取特定类型的所有实体的计数(即表中的行数) .简单示例:

from google.appengine.ext.db import stats
kind_stats = stats.KindStat().all().filter("kind_name =", "NameOfYourModel").get()
count = kind_stats.count

您可以找到有关如何获取最新统计信息的更详细示例 here (GAE 可能会保留多个统计数据副本 - 一份 5 分钟前,一份 30 分钟前,等等)。

请注意,这些统计数据不会不断更新,因此它们会稍微落后于实际计数。如果您确实需要实际计数,那么您可以在您自己的自定义统计表中跟踪计数并在每次创建/删除实体时更新它(尽管这样做的成本要高得多)。

2015 年 3 月 8 日更新:使用数据存储统计信息可能会导致结果过时。如果这不是一个选项,另外两种方法是保留计数器或分片计数器。 (You can read more about those here)。如果您需要实时结果,请仅查看这 2 个。

关于google-app-engine - 如何获取数据存储中表中的行数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2988864/

相关文章:

php - 在指定 WHERE 之前没有 MySQL 结果

html - 媒体查询不适用于智能手机

asp.net-mvc - 您如何指定列表框中显示的项目数量(高度)

java - tilepane javafx 中相同大小的按钮

python - db.StringProperty 但属性偶尔是 datastore_types.Text?

python - 前端和后端之间的内存使用差异很大(而且很奇怪)

mysql - 选择从 1 列计数到 2 列

mysql - 行数,其中column1 ='value1' 和column1 ='value2' 按column2 分组

python - Google App Engine 中的友好 URL

image - 如何在 PIL 中将具有透明度的基于调色板的 PNG 转换为 RGB?