私は、ユニークで非シーケンシャルなIDを生成する必要のあるアプリケーションに取り組んでいます。私が持っている制約の1つは、3桁の数字とそれに続く2文字(約600k IDのみ)で構成されなければならないということです。私の比較的小さなIDのプールを考えると、私は単純にすべてのIDを生成し、それらをシャッフルしてデータベースに入れることを検討していました。内部的には、シンプルでシーケンシャルなIDを使用するので、一度に1つずつ抜き出すのは簡単です&私はリピートがないことを確認してください。数字のシーケンスをランダムなIDに変換しますか?
これは非常に満足できる解決策ではありません。そこにいる誰かが、この「宝くじ」方法よりも限定されたプールからユニークなIDを生成するもっと面白い方法を持っていますか?それは次のようになりますので
実際に使用するIDの数はいくつですか?非常に多くを生成し、それらを例えば数百だけ使用するために保管することは残念です。 –
連続しているのはなぜ重要ですか? – ninesided