在我的Google Cloud Datastore中,使用App Engine,我有大约1000个A
类型的实体。
每次用户登录时,我都需要预加载整个实体列表,不断更新。我不能静态地执行。
利用Google Cloud Datastore定价模式(https://cloud.google.com/datastore/pricing),我更改了以下搜索代码:
a_entities = A.query().fetch()
为:
a_keys = A.query().fetch(keys_only=True)
a_entities = ndb.get_multi(a_keys)
所以我保持每日免费配额,因为我将大部分读取操作移动到“Datastore Small Operations”类型,这是免费且无限制的,正如我读到的那样。
这是一个合理的解决方案吗?如果它增加很多,它是否能够维持一定的流量?它会影响其他资源吗?
谢谢
答案 0 :(得分:1)
keys_only
查询是免费的(只需1次操作)。但下一行,您get_multi
实际实体不是免费的。你还没有发现留在免费配额范围内的漏洞。