代码之家  ›  专栏  ›  技术社区  ›  Cameron

谷歌应用引擎中的参考模型加载

  •  1
  • Cameron  · 技术社区  · 15 年前

    在python中,假设我有一个类的模型 A 具有引用属性的 b 模型类 B ,具有引用属性 c 模型类 C .

    假设 数据存储中已经存在,我可以通过说:

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

    在这个场景中,实体加载是如何工作的?是 a.b 何时检索 a 是否检索到?是 a.b.c 何时检索 甲、乙 是否检索到?是 B C 仅在首次访问时检索?如果我去商店 在memcache,会 B C 是否也要存储?如果没有,我什么时候能拿到 退出Memcache?

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

    谢谢!

    2 回复  |  直到 15 年前
        1
  •  2
  •   Robert Kluin    15 年前

    当您第一次访问这些模型时,它们将被取消引用。所以打A.B会得到B,打A.B.C会得到C。

    看看尼克·约翰逊的博客,了解一些关于记忆模型的技巧: http://blog.notdot.net/2009/9/Efficient-model-memcaching

        2
  •  1
  •   Adam Crossland    15 年前

    引用属性被延迟加载。 在实际使用它之前,不会从数据存储中查找。