引出
大家都用过QQ或者微信吧, 当我们注册的时候, 会被自动分配一个QQ号, 这个号码是全局唯一且固定的, 那么, 如果是你来写的话, 如何为新注册的用户分配一个号码呢?...亦或是一个电商网站, 要为每个订单生成一个订单号? 再或是一个即时聊天, 要为每个消息生成一个消息ID?? 我简单想了想
方案一
其实这事说简单点, 不就是要为每个用户都配一个数字么?...简单, 自增设置一个起始ID.
完美, 实现方案简单粗暴, 而且不会出现重复.
方案二
使用时间戳. 使用当前时间戳来生成, 比如: 1585390459 这样的数字....我想了想, 有一个简单到爆的处理方法, 在后面再拼上0000-9999的随机数, 这样每秒有一万个不重复的, 重复的概率就降低了, 在生成后还需要查询是否已经存在, 若存在则重复生成....要想生成随机ID, 首先, 要有一个不是随机的而又是当前唯一持有的. 在这个前提下, 再各种添油加醋, 生成最终的ID. 就算你要调用随机函数, 也得设置一个随机种子不是?