第一種 GUID 由算法自動生成下 理論上能產生全球唯一的值 不過對于用戶記訂單號不方便
Console.WriteLine(System.Guid.NewGuid());
Console.ReadKey();
//生成結果:5322d297-51b4-4198-8625-cc465c948852
原文地址:http://www.tnblog.net/xj/article/details/170
第二種 隨機數1000-9000范圍內的數 再根據時分秒生成 不過大數據并發依然有重復的可能
Random rand = new Random();
int shu2 = rand.Next(1000, 9999);
string randId = DateTime.Now.ToString( "yyyyMMddHHmmss") + shu2;
Console.WriteLine(randId);
Console.ReadLine();
第三種 給訂單號設置自增 雖不會重復 但標志列只有一個 Id就不能唯一
第四種 簡單一點的,可以由用戶ID(數字)、時間、隨機數組合生成,因為用戶ID是唯一的,生成的訂單號也就不會重復了
第五種 用64位MD5對用戶名和時間加密,再用加密后的簽名做訂單號。理論上來說該算法是不會重復的,除非訂單量超過了2的64次方
第六種 IP地址、時間、計算機機器碼、用戶名、隨機數 時間戳(10)+省id(6)+市id(6)+區id(6)+四位隨機數(4)
第七種 有網友用并發性lock解決為了解決并發性,就直接在生成訂單號的區域塊加上lock
————————————————
版權聲明:本文為CSDN博主「腴i」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/ohdajing/article/details/60964281