Python GAE:跟踪NDB类型实体数量的最佳方法?
我正试图找出跟踪云数据存储中某种NDB类型实体数量的最佳方法 一种方法是,当我想知道我有多少时,获取一个查询的Python GAE:跟踪NDB类型实体数量的最佳方法?,python,google-app-engine,google-cloud-datastore,app-engine-ndb,Python,Google App Engine,Google Cloud Datastore,App Engine Ndb,我正试图找出跟踪云数据存储中某种NDB类型实体数量的最佳方法 一种方法是,当我想知道我有多少时,获取一个查询的.count(),我知道该查询将返回所有查询,但这需要大量的数据存储小操作(看起来它与我拥有的此类实体的数量成正比)。所以这并不理想 另一种选择是在数据存储中有一个计数器,每次创建或删除实体时都会更新该计数器,但这也不理想,因为它会向我创建或销毁的每个实体添加额外的读写操作 现在看来,第二种选择是我最好的选择,所以我的问题是——你同意吗?还有其他更具成本效益的选择吗 非常感谢 PS:如果
.count()
,我知道该查询将返回所有查询,但这需要大量的数据存储小操作(看起来它与我拥有的此类实体的数量成正比)。所以这并不理想
另一种选择是在数据存储中有一个计数器,每次创建或删除实体时都会更新该计数器,但这也不理想,因为它会向我创建或销毁的每个实体添加额外的读写操作
现在看来,第二种选择是我最好的选择,所以我的问题是——你同意吗?还有其他更具成本效益的选择吗
非常感谢
PS:如果用Python工作会有所不同的话。第二种选择是可行的 其他考虑:
-
如果你每秒有很多写,你可能想考虑使用
- 为了减少数据存储写入,您可以使用cron作业以定时间隔更新数据存储(即计算自上次运行以来已创建的实体数)
GAE仪表板中的“Datastore Statistics”页面显示有关种类/实体的一些详细数据,包括“计数”数字,并且有一种通过编程方式访问这些数据的方法。请参阅此处的更多信息:为什么需要计数?计数比抓取和计数效率更高,因此看起来他们可能已经基于这个原因构建了快速的计数(如果启用了计费,小型数据存储操作是免费的)谢谢!这正是我想要的。