【问题标题】:Does Key.from_path hit the datastore?Key.from_path 是否命中数据存储?
【发布时间】:2009-06-25 09:07:42
【问题描述】:

我有一个要批量获取的键名列表 (键名存储在附加到实体的 StringListProperty 中)。 我的总体计划是:

usernames = userrefInstance.users # A collection of strings on another 
model. 
keys = [Key.from_path('User', key_name) for username in usernames] 
users = db.get(keys)

我的问题 Key.from_path 是否命中数据存储?我正在努力成为 尽可能快,如果 Key.from_path 命中我需要工作的数据存储 另一种存储密钥集合的方法 - 我不是特别想 将 Key 对象存储在列表属性中,因为我还提供了用户 跨 StringListPropererties 的友好查询。

【问题讨论】:

    标签: python google-app-engine google-cloud-datastore


    【解决方案1】:

    在另一组挖掘和提问后,结果是:

    键完全由应用决定 ID和路径,所以不需要 为此访问数据存储。 - 尼克约翰逊

    或者你也可以使用 db.Key 列表

    【讨论】:

    • 当然 - 输入一个答案,我会删除这个然后接受你的;)
    【解决方案2】:

    您传递给Key.from_path() 的参数包含构建唯一键所需的所有信息,因此无需访问数据存储区。

    数据存储区中的每个实体都有一个唯一标识它的键。 密钥由以下组件组成:

    1. 实体的种类,为了数据存储区查询而对其进行分类
    2. 单个实体的标识符,可以是
      • 键名字符串
      • 一个整数数字 ID
    3. 在数据存储层次结构中定位实体的可选祖先路径

    来源:https://developers.google.com/appengine/docs/python/datastore/entities

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-03
      • 2016-08-27
      • 2011-01-01
      • 1970-01-01
      相关资源
      最近更新 更多