【发布时间】:2009-04-15 00:48:04
【问题描述】:
我正在开发一个需要生成唯一、非顺序 ID 的应用程序。我的限制之一是它们必须由 3 个数字后跟 2 个字母组成(只有大约 600k 个 ID)。鉴于我的 ID 池相对较小,我正在考虑简单地生成所有可能的 ID,将它们洗牌并将它们放入数据库中。因为,在内部,我将有一个简单的、连续的 ID 可供使用,因此很容易一次将它们取出一个并确保我没有任何重复。
感觉这不是一个非常令人满意的解决方案。有没有人有比这种“抽奖”方法更有趣的从有限池中生成唯一 ID 的方法?
【问题讨论】:
-
您计划实际使用多少个 ID?生成这么多并存储它们只是为了使用几百个,这将是一种耻辱。
-
如果它们是连续的,为什么重要?
标签: random