请教一下,有没有这样生成Uniq ID的方案什么的?

有一个需求,要给每一条数据生成一个ID,不可重复,由于业务要求,不能用MySQL的auto increment,只能用程序生成ID。
我现在想到的方案是用

$uniqid = md5(microtime());

但是我担心md5的碰撞和并发高了以后microtime的重复。


料青山看我应如是
浏览 93回答 2
2回答

千巷猫影

前段时间也思考了很多种方案,不过由于服务器有可能是多台的原因,最终都否定了跟时间有关系的方案。最终还是选择了数据库表的auto Increment。最终的方案是:做一个临时表 就一个字段 id primary key auto Increment.对这个表插入空数据 直接返回唯一ID

慕侠2389804

一 程序生UID (1)常用的函数组合法有 md5 hash uniqid microtime mt_rand chr hexdec二 适合大型应用 系统每次自动生成N个唯一ID存到队列 从队列去取得三 适合大型应用 加入一定的业务规则或者服务器hash规则 + 随机ID四 自增长 单机单库
打开App,查看更多内容
随时随地看视频慕课网APP