为dynamodb生成12位唯一编号?

时间:2017-12-22 16:12:46

标签: c# amazon-dynamodb aws-sdk

当用户提交表单时,我需要为他们生成12位唯一ID。我想到了一些选择,但不确定哪一个是最好的选择,或者是否有另一种选择:

  1. 预生成并存储唯一ID。当用户提交表单时,请抓取一个ID并将其删除,以便不能再次使用。
  2. 创建一个随机的12位唯一ID,检查是否已使用,如果没有,请使用它。如果已使用,请重新创建另一个唯一ID。继续这样做,直到找到一个未使用的唯一ID。
  3. 我不能使用GUIDS,否则我会使用它,所以如果有人有任何建议,那就太棒了。

    我正在使用.NET AWS SDK

    我考虑过将200万到5000万的数字存储为表中的哈希键。然后在客户端,执行以下操作:

    new Random().Next(2000000,50000000)

    然后我会查询dynamotable返回的随机数,如果我找到它,我会删除它,所以它不能再次使用,但我觉得好像更多的用户得到唯一的ID,随机数会错过更多频繁

1 个答案:

答案 0 :(得分:0)

怎么样:

{{1}}

这样你就可以随机化整数,并且你确定它有12个唯一的数字,然后你必须查询数据库,如果它存在,再次运行该函数并检查直到它什么都不返回。