gpt4 book ai didi

PHP - uniqid (""是生成唯一且顺序的服务器端 key 的实用解决方案吗?

转载 作者:行者123 更新时间:2023-11-29 01:07:32 32 4
gpt4 key购买 nike

全部,

我想在注册过程中生成服务器端用户ID。这个 id 应该是连续的以允许聚集索引。显然,它还需要是独一无二的。

为此,我可以在多大程度上使用 uniqid("")?我不是在构建谷歌,我假设 2 个用户在同一微秒内注册的风险接近于零——但我没有可作为基础的实践经验。 SQL 将拒绝重复的 id,我可以在我的 php 代码中有一个循环,在发生冲突/数据输入失败的情况下继续发送新的注册条目,但这只是在冲突很少见的情况下的一个好方法。

或者,我可以使用 uniqid("",TRUE) 添加一个随机后记,但是如果 2 个用户在同一微秒内注册, key 就不能再连续了。

解决我的难题的最佳实用方法是什么?我是不是想多了?

谢谢,

JDelage

最佳答案

uniqid 只不过是 microtime 的一个接口(interface)(这就是它生成顺序 ID 的原因),因此,它可能是可预测的并且可能创建一个副本。

This id should be sequential to allow for clustered indexing. It also needs to be unique, obviously. [...] Am I overthinking this?

大多数数据库,包括 MySQL,都包含事务安全序列生成器。 MySQL's implementation, AUTO_INCREMENT , 非常原始,但也很有效。 auto-inc 主键将确保唯一性,更重要的是,不奇怪

也就是说,只要确保表中的 id 列是主键就可以完全防止重复 ID。

关于PHP - uniqid (""是生成唯一且顺序的服务器端 key 的实用解决方案吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5540401/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com