PHP のランダムなユーザー名アカウントの生成

巴扎黑
リリース: 2016-11-07 17:48:05
オリジナル
3205 人が閲覧しました

ランダム生成の難しさは、衝突を回避する方法です。もちろん、それは可能ですが、アカウントとしては乱雑に見えますし、生成される桁数が長すぎます。

固定ヘッドは秒単位で正確な unixtime 時間を使用するため、このメソッドは 1 秒以内に同時衝突を解決するだけで済みます。1 秒を超える場合は、このヘッドの時間が変更されているはずです。同時に、この方法ではユーザーに対してランダムな注文番号を生成することもできます。

テスト条件は、ループを使用して、衝突が 0 件のランダムなアカウント (ミリ秒レベル) 10,000 個と、衝突が約 0 ~ 3 件の 100,000 個のアカウントを作成することです。これだけ多くのアカウントを瞬時に同時に作成するネット企業は存在しないはずなので、数十億PV規模なら十分対応できます。

~~~.java
// ランダムなユーザー名を自動的に生成します
// テスト、ループ内で 10,000 個のランダムなアカウントを作成、衝突は 0、100,000 個の衝突は 0 ~ 3 回あり、将来的には数十億の PV を処理するのに十分です
プライベート関数genUserNumber()
{
$chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$username = "";
for ( $i = 0; $i {
$username .= $chars[mt_rand(0 , strlen($chars))];
}
return strtoupper(base_convert(time() - 1420070400, 10, 36)).$username
}

;
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!