【问题标题】:How to generate unique ids in C [closed]如何在 C 中生成唯一 ID [关闭]
【发布时间】:2018-07-04 03:21:10
【问题描述】:

我正在开发一个需要为新用户生成 id 的应用程序我想用最少的字符来创建 1000 亿个不同的可能 id 所以我应该怎么做以及如何避免给两个用户一样吗?我应该看看那个id是否存在?我应该使用随机 id 生成器还是按 001 002 等顺序提供 id?

【问题讨论】:

  • 计数器,就像你提到的那样,可能是一个很好的解决方案。这就是数据库使用的。只需保存会话之间的状态即可。
  • “最小字符数”取决于您的字符集的大小 - 仅数字 [0-9]?字母数字 [0-9][a-z][A-Z]?还有什么?
  • ^^ @OregonJim 所说的。一旦你定义了你的字符集,你就可以计算字符的数量,然后使用计算器进行乘法运算,直到达到“1000 亿”的限制。 [number of mults]+1 给出了唯一标识这些用户所需的字符数。

标签: c


【解决方案1】:

这完全取决于您期望从该 id 获得什么样的功能,您是否打算让这些 id 与持久数据相关联,例如数据库?如果是这种情况,让数据库为您处理唯一 ID 生成可能更谨慎。否则,使用 1,2,3... 等顺序值可能是理想的。 unsigned long 将为前 20 亿用户提供保障……如果您以某种方式超越了这一点,那么您可以重新考虑您的数据存储。 这个问题非常广泛。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-11
    • 2011-10-09
    • 1970-01-01
    • 2018-05-04
    • 2023-03-15
    • 2010-11-30
    • 2013-03-11
    相关资源
    最近更新 更多