生成唯一ID GAE数据存储区

时间:2016-04-11 04:25:15

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

在MySQL中,我使用自动增量为每个用户生成一个id。我想在Google Datastore中创建一个类似的用户表,其中用户的ID将是唯一的。根据这些文档:https://cloud.google.com/appengine/docs/java/datastore/entities

  

系统分配的ID值保证对于实体组是唯一的。

但是根据这篇文章:Ever see duplicate IDs when using Google App Engine and ndb? id不是唯一的。我需要这个id是独一无二的。这很令人困惑,因为在文档中它说id是唯一的,但是从这篇文章中它说id不是唯一的,它是唯一的关键。我的目标是没有两个用户拥有相同的ID。我怎么能保证这个?我更喜欢数据库来处理这种形式,我反对我不得不使用诸如uuids等手动创建大型ID。

1 个答案:

答案 0 :(得分:2)

正如Igor所正确观察的那样,只要实体没有父ID,ID 总是唯一。

我无法想到让用户实体成为其他实体的孩子的任何理由,因此您是安全的。

请注意,ID不会是顺序的,因为它有助于在整个数据集中平均分配负载 - 它是数据存储区设计方式的副产品。