關於訂單號的生成

2022-08-20 13:09:07 字數 402 閱讀 2824

現在在做乙個手機**的專案,boss叫我設計乙個訂單號,訂單號要求唯一。

我冥思苦想,然後查閱了其他大**的生成方法,boss給我的要求是10位,好吧,這個重複性超級高。

我是這樣設計的:使用者id後4位+日期(月日)+隨機2位數   

感覺這樣的重複性還是挺高的,假設有10w個使用者,那麼前面4位重複的就有10個吧,假設他們在同一天下單,那麼就要看後面的隨機數了,後面還是會有重複的可能性的,所以這樣的重複概率挺高的。但是這是個初創**,使用者一開始沒那麼多,還有為了簡單清楚的表達日期,所以只能這樣選了。

其實我還有其他的方法,只是感覺這樣有點麻煩,就是把每天下的單存入到乙個專門的資料庫裡面,然後生成乙個自動增長的id,然後根據把隨機數替換成id,這樣就能確保後面的不會重複了,但是這樣的高併發太差了,還要連線資料庫,所以我放棄了。

訂單號生成

之前用uuid 因為太長改用16位因此在網上找到一下這種做法,年月日擷取 時間戳 在加隨機數 生成乙個訂單 獲取年份 var date j f c d e b h i a date gettime tostring var ordersn date new date getfullyear 2015...

PHP訂單號的生成

前陣子,公司有個電子商務專案,需要生成訂單號。當時的考慮很簡單,取系統時間加上隨機數,或者使用 uniqid 方法。我們都知道,訂單號最基本的要求就是唯一,這個條件必須滿足。仔細考慮下上述方法,在顧客購買量少的情況下,訂單重複的可能性為零,但是在購買高蜂期生成的訂單號重複是很有可能發生的。所以上述方...

php訂單號的生成

來自ecshop訂單號生成函式 includes lib order.php檔案中的get order sn 得到新訂單號 return string function build order no 原訂單號格式為年月日 5位隨機數,例如 2012022112345。如果你想改變訂單號的生成規則,可...