首頁 > 後端開發 > php教程 > 京東上產生100萬張優惠券演算法問題

京東上產生100萬張優惠券演算法問題

WBOY
發布: 2016-08-20 09:04:04
原創
2131 人瀏覽過

京東上產生100萬張優惠券,優惠券券號前綴是QA(比如QAK001,QA0U767,QAJUT55,隨機的券號),用什麼演算法能產生100萬張不重複的優惠券?這100萬張優惠券券號碼必須存入資料庫或快取中嗎?

回覆內容:

京東上產生100萬張優惠券,優惠券券號前綴是QA(比如QAK001,QA0U767,QAJUT55,隨機的券號),用什麼演算法能產生100萬張不重複的優惠券?這100萬張優惠券券號碼必須存入資料庫或快取中嗎?

可以參考演算法Bloom Filter

推薦UUID。

<code>function guid(){
    if (function_exists('com_create_guid')){
        return com_create_guid();
    }else{
        mt_srand((double)microtime()*10000);//optional for php 4.2.0 and up.
        $charid = strtoupper(md5(uniqid(rand(), true)));
        $hyphen = chr(45);// "-"
        $uuid = chr(123)// "{"
                .substr($charid, 0, 8).$hyphen
                .substr($charid, 8, 4).$hyphen
                .substr($charid,12, 4).$hyphen
                .substr($charid,16, 4).$hyphen
                .substr($charid,20,12)
                .chr(125);// "}"
        return $uuid;
    }
}</code>
登入後複製
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板