ホームページ  >  記事  >  バックエンド開発  >  重複する値を生成しない短縮 URL アルゴリズムを見つける

重複する値を生成しない短縮 URL アルゴリズムを見つける

WBOY
WBOYオリジナル
2016-06-23 14:12:391331ブラウズ

重複値を生成しない短縮 URL アルゴリズムを探しています。オンラインでいくつか見つけましたが、それらはすべて一定の重複確率を持っているか、重複確率が最も小さいアルゴリズムを提供できます


ディスカッションへの返信 (解決策)

これは、まずランダムな文字列を生成し、
データベースに既に存在するかどうかをクエリします
存在しない場合は、それを変更して再度確認します
。短いアドレスの長さはわずか約 5 桁です。
重複がないことを保証するアルゴリズムは使用できないため、
以前に生成されたアドレスを比較することしかできません。


最も単純なことは、ランダムな文字列が対応する ID に基づいて生成されることです。つまり、ランダムな文字列のように見えますが、実際には特定の規則に従って ID によって生成されます。オンライン ID 範囲は取得できません

私が考えたのは、base62 アルゴリズムです はは~~~

整数 ID から Base62 エンコーディングを生成します
たとえば、
61 => 10
63 = > 11
..
71 => 1a
72 => 1b
900000000 (9 億) => YUj72


はすべて繰り返されます

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。