为dynamodb生成12位唯一编号?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为dynamodb生成12位唯一编号?相关的知识,希望对你有一定的参考价值。

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

  1. 预生成并存储唯一ID。当用户提交表单时,请获取一个ID并将其删除,以便不能再次使用。
  2. 制作一个随机的12位唯一ID,检查它是否已被使用,如果没有,请使用它。如果已使用,请重新创建另一个唯一ID。继续这样做,直到找到一个未使用的唯一ID。

我不能使用GUIDS,否则我会使用它,所以如果有人有任何建议,那就太好了。

我正在使用.NET AWS SDK

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

new Random().Next(2000000,50000000)

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

答案

关于什么:

string uniqueId="";
Random randomizer = new Random();
for (int i = 0; i < 12; i++)
{
uniqueId+= randomizer.Next(0, 10);
}

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

以上是关于为dynamodb生成12位唯一编号?的主要内容,如果未能解决你的问题,请参考以下文章

mysql 在插入数据时,怎么样做到自动生成16位唯一的ID?

如何在 Ruby 中生成唯一的六位字母数字代码

如何从数据库为用户分配唯一编号

订单流水号(唯一编号)的生成

DynamoDB 无法转换为 System.DateTime

如何在Java程序中写一个方法可随机生成12位数字,且永远不会重复,唯一的。