随机数种子的精度再高,也不可避免的出现重复,
用IP+时间戳是比较完美的做法。
也许取得ip可能要发的时间多一点,
但是绝对不会出现重复,因为时间戳是不会重复的。

解决方案 »

  1.   

    如果你的机器“慢”到能够区别微秒(百万分之一秒)那么可以使用精确到微秒的时间做id(16位)
    少于这个长度的id是肯定会有重复的随机数根本不能保证唯一
      

  2.   

    一个小想法.....
    首先,完全可以建立数据库,将生成的ID号储存起来,再生成新号的
    时候比较一下,就可以保证唯一了.
    如果怕生成ID号会慢的话,等程序空的时候,多生成一点新的ID号放
    在那里备用好了.这不就唯一了?
      

  3.   

    办法很多
    1.随机数+时间(分秒)
    2.日期加时间
    3.ip+时间
    4.建个专用来生唯一ID号的表用最大ID加1做后缀不停插入