python - Google App Engine 中的引用模型加载

标签 python google-app-engine model memcached loading

在Python中,假设我有一个A类的模型,它有一个ReferenceProperty b来建模类B,它有一个ReferenceProperty c 到模型类 C

假设数据存储中已存在 A 的实例,我可以通过以下方式获取它:

q = A.all()
a = q.get()

在这种情况下,实体加载是如何工作的?检索a时是否检索到a.b?检索a.b时是否检索到a.b.cbc 仅在首次访问时才检索吗?如果我将a存储在memcache中,bc也会被存储吗?如果没有,当我从内存缓存中获取 a 时,什么时候会检索它们?

我问这些问题的原因(除了好奇之外)是因为我有一个想要存储在内存缓存中的实体,但它链接到另一个实体(链接到另一个实体等),并且链接实体的总大小可能超过 1MB。

谢谢!

最佳答案

当您第一次访问模型时,它们将被取消引用。所以调用 a.b 将得到 b,调用 a.b.c 将得到 c。

查看 Nick Johnson 的博客,了解有关内存缓存模型的一些提示: http://blog.notdot.net/2009/9/Efficient-model-memcaching

关于python - Google App Engine 中的引用模型加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2329387/

相关文章:

r - 具有自回归项的 GLM 以校正序列相关性

Laravel Eloquent 关系第三级

python - Django/python : How to pass the form. cleaned_data 值到 HttpResponseRedirect 作为参数?

python - 无法在每个水平条形图的顶部添加值

Python:为什么我的程序无法从列表写入文件?

javascript - 使用 jQuery 或 Google App Engine 的倒计时器?

ruby-on-rails-3 - Rails 3 - 如何通过关联获取数据

python - 检查 pip 是否通过脚本安装

python - 使用 Gridfs 将 Base64 字符串图像存储到 MongoDB

mysql - App Engine 中的 GoLang 动态 SQL 查询