Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 附录1.9.2+;Objectify 4.1.2=巨大的自动生成ID_Google App Engine_Objectify - Fatal编程技术网

Google app engine 附录1.9.2+;Objectify 4.1.2=巨大的自动生成ID

Google app engine 附录1.9.2+;Objectify 4.1.2=巨大的自动生成ID,google-app-engine,objectify,Google App Engine,Objectify,我有一个AppEngine项目,它使用Objectify 我刚刚升级了AppEngine SDK=>1.9.2 我从Objectify 3.1迁移到了4.1.2 在该切换之前,数据存储中实体的生成ID在该范围内: id=84001 id=86001等 现在他们是这样的: id=5105650963054592 id=564905025344512等 以前的ID已经有点奇怪(很大的差距),但这似乎很正常,现在可能有问题 问题出在哪里 我的代码/配置 客观化 数据存储 没什么,这很正常

我有一个AppEngine项目,它使用Objectify

  • 我刚刚升级了AppEngine SDK=>1.9.2
  • 我从Objectify 3.1迁移到了4.1.2
在该切换之前,数据存储中实体的生成ID在该范围内:

  • id=84001
  • id=86001等
现在他们是这样的:

  • id=5105650963054592
  • id=564905025344512等
以前的ID已经有点奇怪(很大的差距),但这似乎很正常,现在可能有问题

问题出在哪里

  • 我的代码/配置
  • 客观化
  • 数据存储
  • 没什么,这很正常
注意:在调用ofy().save().entity(entity).now()之前,我没有设置ID(type Long)

谢谢你的帮助


皮埃尔。

这是正确的行为。appengine切换到长且随机的自动生成id,以减少数据存储中的争用(从而提高性能)

数据存储可以配置为使用两个 不同的自动id策略:默认策略生成随机id 近似均匀分布的ID序列。每个ID 长度最多可达16位。遗留策略创建了一系列 非连续的较小整数ID

资料来源:


这是正确的行为。appengine切换到长且随机的自动生成id,以减少数据存储中的争用(从而提高性能)

数据存储可以配置为使用两个 不同的自动id策略:默认策略生成随机id 近似均匀分布的ID序列。每个ID 长度最多可达16位。遗留策略创建了一系列 非连续的较小整数ID

资料来源:


谢谢你的回答Andrei。一个非常重要的问题:生成的ID是唯一的吗?我在官方文档中没有找到任何相关信息。ID是唯一的,除非子实体可能具有相同的ID(如果它们属于不同的父实体)。例如,如果您有一个没有祖先的实体“用户”,那么每个实体“用户”都将有一个唯一的ID。如果您还有一个实体“用户相册”,它是“用户”的子实体,那么“用户相册”实体将只在一个“用户”中有唯一的ID。感谢Andrei的回答。一个非常重要的问题:生成的ID是唯一的吗?我在官方文档中没有找到任何相关信息。ID是唯一的,除非子实体可能具有相同的ID(如果它们属于不同的父实体)。例如,如果您有一个没有祖先的实体“用户”,则每个实体“用户”将具有唯一的ID。如果您还有一个实体“用户相册”,它是“用户”的子实体,则“用户相册”实体将仅在单个“用户”内具有唯一的ID。