訂單號的生成規則和不同生成策略

2021-10-10 10:28:42 字數 803 閱讀 6557

不重複:訂單號的唯一行

安全性:訂單編號中不要透露任何和公司有關的資訊,不要使用流水號,容易暴露公司的運營情況

不要使用大規模隨機碼:隨機編碼可以滿足安全性,但為了滿足不重複性要費很大的力氣。比如現在已經有了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 方法。我們都知道,訂單號最基本的要求就是唯一,這個條件必須滿足。仔細考慮下上述方法,在顧客購買量少的情況下,訂單重複的可能性為零,但是在購買高蜂期生成的訂單號重複是很有可能發生的。所以上述方...