3

Google App Engine 数据存储区中自动生成的最大 ID 是多少?

为什么这么问?

我想使用字母表以####-####-####之类的格式向我的客户显示一个对用户更友好的 ID :

 0123456789ABCDEFGHIJKLMNPQRSTUVWXYZ

字符 O 已被删除,以避免与数字 0 混淆。

我需要知道代表所有ID需要多少组###。

4

2 回答 2

7

2^53(64 位浮点数的整数部分)

于 2013-07-27T17:00:25.980 回答
2

从文档“实体和索引的存储方式”(https://developers.google.com/appengine/articles/storage_breakdown/):

键的第一个组成部分是实体类型——模型或模型对象的类名(str)。下一个组件是 ID (int64) 或键名 (str)。请注意,实体可以具有数字 ID 或键名,但不能同时具有

所以它听起来像 ID,如果一个整数是 64 位,我相信它是有符号的,所以你会有 2^63 - 1 作为最大值(9223372036854775807)。

并从数据存储区(python)文档的这一部分:https ://developers.google.com/appengine/docs/python/datastore/entities#Python_Assigning_identifiers

可以将数据存储区配置为使用两种不同的自动 ID 策略生成自动 ID:

默认策略生成大致均匀分布的随机 ID 序列。每个 ID 最长可达 16 位

旧版策略会创建一系列不连续的较小整数 ID。

这将是 16 个十进制数字(因此长度为 16 个字符)

于 2014-03-16T21:00:00.013 回答