首頁  >  文章  >  後端開發  >  PHP 隨機使用者名稱帳號的生成

PHP 隨機使用者名稱帳號的生成

巴扎黑
巴扎黑原創
2016-11-07 17:48:053242瀏覽

隨機產生困難是在於如何避免碰撞,有人說用md5,GUID這些機制啊,當然可以,但是做為帳號,看著有亂,而且生成位數也過長。 

本方法只需要解決1秒內的並發碰撞就可以,因為固定頭部採用的是unixtime時間,精確到秒,超過1秒,這個頭部的時間肯定變化了。同時本方法也可以使用者隨機訂單編號的產生。 

測試條件是用循環創建1萬個隨機帳號(毫秒級),0碰撞,10萬個大約有0-3個碰撞。應該沒有一家網路公司會在瞬間同時創建這麼多帳號,所以足夠應付數十億PV這麼大的規模了。

~~~.java 
// 自動產生隨機用戶名 
// 測試,循環創建1萬個隨機帳號,0碰撞,10萬大約0-3個碰撞,足夠應付未來數十億級PV 
private function genUserNumber() 

$chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
$username = ""; 
for ( $i = 0; $++i } 
return strtoupper(base_convert(time() - 1420070400, 10, 36)).$username; 

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn