在Python,说我有A
具有的ReferenceProperty b
模型类B
,它具有的ReferenceProperty c
模型C
类类的模型。参考模型加载谷歌应用程序引擎
假设A
实例已经存在于数据存储,我可以这样得到它:
q = A.all()
a = q.get()
在这种情况下,如何做实体装载工作?检索a
时是否检索到a.b
?检索a.b
时是否检索到a.b.c
? b
和c
仅在第一次访问时才被检索?如果我要在内存缓存中存储a
,是否还会存储b
和c
?如果不是,当a
退出memcache时,何时会检索它们?
我问这些问题(除了好奇心之外)的原因是因为我有一个实体,我想存储在memcache中,但它链接到另一个实体(链接到另一个实体等),以及链接实体的总大小可能大于1MB。
谢谢!
这里是泡菜VS proto_buf一些额外的讨论:http://groups.google.com/group/google-appengine/browse_thread/thread/f91ec576cddc75de/5a6b0d8ea28e02a1 – 2010-02-24 21:16:48
啊,是的,我听说过pickle-vs-pb的东西。我不知道腌一根普通的线有多快? – Cameron 2010-02-25 00:08:56
在我的测试中,酸洗一个字符串比酸洗一个非常简单的模型实例快得多(10倍)。 – 2010-02-25 01:12:46