不重複:訂單號的唯一行
安全性:訂單編號中不要透露任何和公司有關的資訊,不要使用流水號,容易暴露公司的運營情況
不要使用大規模隨機碼:隨機編碼可以滿足安全性,但為了滿足不重複性要費很大的力氣。比如現在已經有了10萬條訂單,如果再新生成的訂單,它的訂單號需要與之前的10萬條資料的訂單號進行比較,結果可想而知。
防止併發
控制位數:一般在10~15位最好
總共18位
前14位為序號
5-16位買家id的倒數1-2位
17-18位買家id的倒數3-4位
訂單號無重複性;
訂單號盡量保持數字型(純整數),在資料庫訂單索引查詢中,長整數字型的資料索引與檢索效率,遠遠高於文字型,因此盡量避免「字母+數字字串式」!
mysql的自增長(不能使用):以後數量大的時候,需要對mysql進行分庫分表,此時訂單號會重複
guid由演算法自動生成,理論全球唯一的值,但記錄不方便
年月日時分秒微秒+隨機碼(2)+流水號+隨機碼(3):推薦
string res = jedis.
get(key);if
(stringutils.
isblank
(res)
)long orderid = jedis.
incr
(key)
;//存在就生成+1的訂單號
twitter的分布式自增id演算法snowflak 訂單號的生成規則和不同生成策略 總結
一.訂單命名的幾種規則 不重複 訂單號的唯一行 安全性 訂單編號中不要透露任何和公司有關的資訊,不要使用流水號,容易暴露公司的運營情況 不要使用大規模隨機碼 隨機編碼可以滿足安全性,但為了滿足不重複性要費很大的力氣。比如現在已經有了10萬條訂單,如果再新生成的訂單,它的訂單號需要與之前的10萬條資料...
電商平台訂單號生成策略
訂單是整個電子商務的核心。整個電子商務的流程也是圍繞訂單的狀態執行的。這篇部落格主要向大家介紹訂單號的生成方式。現在大型電商 大多都有好幾種下單途徑。比如 通過web 下單,通過打 到呼叫中心下單 callcenter 使用手機wap下單。如果只採用單資料庫來儲存訂單資訊的話,其隨著訂單量的增加,單...
PHP訂單號的生成
前陣子,公司有個電子商務專案,需要生成訂單號。當時的考慮很簡單,取系統時間加上隨機數,或者使用 uniqid 方法。我們都知道,訂單號最基本的要求就是唯一,這個條件必須滿足。仔細考慮下上述方法,在顧客購買量少的情況下,訂單重複的可能性為零,但是在購買高蜂期生成的訂單號重複是很有可能發生的。所以上述方...