【发布时间】:2014-04-24 09:38:20
【问题描述】:
我正在考虑为我的应用程序组织数据的方法。
我正在考虑的一个数据模型需要拥有每个实体最多可以包含大约 100 个重复的 StructuredProperties 的实体。 StructuredProperties 主要是很少被读取和更新。我的问题是 - 如果我更新任何那些 StructuredProperties,整个实体会从 Memcache 中删除,并且整个实体会从 ndb 中重新读取吗?还是只是一个 StructuredProperty 会被重读?这与 LocalStructuredProperty 有什么不同吗?
更一般地说,StructuredProperties 在内部是如何组织的?在我可以使用多个 Float 或 Int 属性的情况下——而我使用 StructuredProperty 只是为了让我的模型更具可读性——这是一个坏主意吗?如果我正在读取具有 100 个 StructuredProperties 的实体,我必须进行 100 次 rpc 调用,还是将这些属性作为原始实体的一部分批量检索?
【问题讨论】:
-
您查看过文档吗?都在那里:developers.google.com/appengine/docs/python/ndb/…
-
我读了好几遍,并没有真正回答我的问题。但是通过试验 appstat 我想我现在更好地理解了这种情况。我的理解是,如果我更改了结构化属性之一,整个实体将从 memcache 中删除,并将在连续请求时从 ndb 重新读取。
-
这是正确的,具有所有 StructuredProperties 的单个实体将在单个 rpc 中检索
标签: google-app-engine python-2.7 google-cloud-datastore datamodel