Heim > Artikel > Backend-Entwicklung > Algorithmusproblem zum Generieren von 1 Million Coupons auf JD.com
Jingdong generiert 1 Million Coupons und das Präfix der Couponnummer ist QA (z. B. QAK001, QA0U767, QAJUT55, zufällige Couponnummer). Welcher Algorithmus kann verwendet werden, um 1 Million einzigartige Coupons zu generieren? Müssen diese 1 Million Couponnummern in der Datenbank oder im Cache gespeichert werden?
Jingdong generiert 1 Million Coupons und das Präfix der Couponnummer ist QA (z. B. QAK001, QA0U767, QAJUT55, zufällige Couponnummer). Welcher Algorithmus kann verwendet werden, um 1 Million einzigartige Coupons zu generieren? Müssen diese 1 Million Couponnummern in der Datenbank oder im Cache gespeichert werden?
Sie können sich auf den Algorithmus Bloom Filter beziehen
UUID wird empfohlen.
<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>