为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
料青山看我应如是 2023-04-15 17:13:49
有一个需求,要给每一条数据生成一个ID,不可重复,由于业务要求,不能用MySQL的auto increment,只能用程序生成ID。我现在想到的方案是用$uniqid = md5(microtime());但是我担心md5的碰撞和并发高了以后microtime的重复。
查看完整描述

2 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

前段时间也思考了很多种方案,不过由于服务器有可能是多台的原因,最终都否定了跟时间有关系的方案。
最终还是选择了数据库表的auto Increment。

最终的方案是:
做一个临时表 就一个字段 id primary key auto Increment.对这个表插入空数据 直接返回唯一ID


查看完整回答
反对 回复 2023-04-17
?
慕侠2389804

TA贡献1719条经验 获得超6个赞

一 程序生UID (1)常用的函数组合法有 md5 hash uniqid microtime mt_rand chr hexdec
二 适合大型应用 系统每次自动生成N个唯一ID存到队列 从队列去取得
三 适合大型应用 加入一定的业务规则或者服务器hash规则 + 随机ID
四 自增长 单机单库

查看完整回答
反对 回复 2023-04-17
  • 2 回答
  • 0 关注
  • 92 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信