3

Google App Engine データストアで自動生成される ID の最大数は?

なぜこの質問?

アルファベットを使用して####-####-####のような形式で、よりユーザーフレンドリーな ID を顧客に表示したいと考えています。

 0123456789ABCDEFGHIJKLMNPQRSTUVWXYZ

数字の 0 との混同を避けるために、文字 O は削除されています。

すべての ID を表すには、### のグループがいくつ必要かを知る必要があります。

4

2 に答える 2

2

ドキュメント「エンティティとインデックスの保存方法」( https://developers.google.com/appengine/articles/storage_breakdown/ ) から:

キーの最初のコンポーネントはエンティティの種類、つまりモデル オブジェクト (str) に与えられたモデルまたはクラス名です。次のコンポーネントは、ID (int64) またはキー名 (str) です。エンティティは数値 ID またはキー名を持つことができますが、両方を持つことはできません。

したがって、整数が64ビットの場合、IDのように聞こえます。署名されていると思われるため、最大値は2 ^ 63 - 1になります(9223372036854775807)。

およびデータストア (python) ドキュメントのこの部分から: https://developers.google.com/appengine/docs/python/datastore/entities#Python_Assigning_identifiers

データストアは、2 つの異なる自動 ID ポリシーを使用して自動 ID を生成するように構成できます。

デフォルト ポリシーは、ほぼ均一に分散されたランダムなシーケンスの ID を生成します。各 ID の長さは最大 16 桁です

従来のポリシーは、連続していない小さい整数 ID のシーケンスを作成します。

これは 10 進数で 16 桁になります (したがって、長さは 16 文字になります)。

于 2014-03-16T21:00:00.013 に答える