Key.from_path是否会访问数据存储区?

时间:2009-06-25 09:07:43

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

我有一个要批量提取的密钥名称列表 (键名存储在附加到实体的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对象存储在list属性中,因为我也提供了用户 StringListPropererties中的友好查询。

2 个答案:

答案 0 :(得分:3)

在对另一组进行挖掘和提问后,结果证明:

  

键完全由应用决定   ID和路径,所以没有必要   访问数据存储区。 - 尼克约翰逊

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

答案 1 :(得分:0)

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

  

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

     
      
  1. 实体的类型,为数据存储区查询的目的对其进行分类
  2.   
  3. 单个实体的标识符,可以是其中之一   
        
    • 密钥名称字符串
    •   
    • 整数数字ID
    •   
  4.   
  5. 在数据存储区层次结构中定位实体的可选祖先路径
  6.   

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