重複値を生成しない短縮 URL アルゴリズムを探しています。オンラインでいくつか見つけましたが、それらはすべて一定の重複確率を持っているか、重複確率が最も小さいアルゴリズムを提供できます
これは、まずランダムな文字列を生成し、
データベースに既に存在するかどうかをクエリします
存在しない場合は、それを変更して再度確認します
。短いアドレスの長さはわずか約 5 桁です。
重複がないことを保証するアルゴリズムは使用できないため、
以前に生成されたアドレスを比較することしかできません。
最も単純なことは、ランダムな文字列が対応する ID に基づいて生成されることです。つまり、ランダムな文字列のように見えますが、実際には特定の規則に従って ID によって生成されます。オンライン ID 範囲は取得できません
私が考えたのは、base62 アルゴリズムです はは~~~
整数 ID から Base62 エンコーディングを生成します
たとえば、
61 => 10
63 = > 11
..
71 => 1a
72 => 1b
900000000 (9 億) => YUj72
はすべて繰り返されます