订单号不重复几个思路

  不重复的基本元素,其实是时间。还有一个是数据库表自增ID,这两个元素决定了不会重复。以下几种就是具体实例:

    第一种    利用系统GUID由算法自动生成下 理论上能产生全球唯一的值   不过对于用户记订单号不方便 

    第二种   当前的“时分秒”+随机数1000-9000范围内的数 ,不过大数据并发依然有重复的可能

    第三种   利用数据库表自增ID+时间+特征信息+任意等等生成,因为在数据库表中自增ID是唯一的,生成的订单号也就不会重复了

    第四种   用64位MD5对用户名和时间加密,再用加密后的签名做订单号。理论上来说该算法是不会重复的,除非订单量超过了2的64次方

    第五种   IP地址、时间、计算机机器码、用户名、随机数  时间戳(10)+省id(6)+市id(6)+区id(6)+四位随机数(4)

    第六种   有网友用并发性lock解决并发性,就直接在生成订单号的区域块加上lock

posted @ 2019-10-14 09:50  糊糊饭团  阅读(1430)  评论(0编辑  收藏  举报