2017-12-22 29 views
0

사용자가 양식을 제출하면 12 자리 고유 ID를 생성해야합니다. 몇 가지 옵션을 생각해 보았지만 어떤 것이 가장 좋은 것인지 또는 다른 방법이 있을지 확실하지 않습니다.dynamodb의 12 자리 고유 번호 생성?

  1. 고유 ID를 미리 생성하고 저장하십시오. 사용자가 양식을 제출하면 ID를 잡고 삭제하여 다시 사용할 수 없도록합니다.
  2. 임의의 12 자리 고유 ID를 만들고, 사용되었는지 확인하고, 사용하지 않았 으면 사용하십시오. 사용 된 경우 다른 고유 ID를 다시 작성하십시오. 사용하지 않은 고유 ID를 찾을 때까지이 작업을 계속하십시오.

나는 GUIDS를 사용할 수 없다. 그렇지 않으면 누구나 제안을하면 좋을 것이다.

것은 내가 .NET AWS SDK

를 사용하고 난 테이블의 해시 키로 숫자 2 만 만 (50)에 저장에 대해 생각했다. 그런 다음 클라이언트 측에서, 일을 뭔가 같은 : 임의의 숫자가 반환을 위해

new Random().Next(2000000,50000000)

그런 다음 내가, 내가 그것을 발견하면 다시 사용할 수 없습니다, 그래서 내가 그것을 삭제 것의 dynamotable를 조회 할 것이지만, 더 많은 사용자가 고유 한 ID를 얻는 경우에, 임의의 숫자가 더 자주 놓칠 것 같은 느낌

+0

이러한 ID를 데이터베이스에 저장하고 있습니까? 그렇다면 점진적으로 생성되는 ID를 사용할 수 없습니까? 그리고 uniqueId.ToString ("D12");을 수행하십시오. –

+0

예 ID를 다이나모 테이블에 저장하려고합니다. 그들은 사용자마다 고유합니다. 하지만 dynamo가 자동 증가 키를 지원하지 않는다는 것을 이해하고 있습니다. – xaisoft

+2

ID의 기초로 타임 스탬프를 사용하는 것을 고려하십시오. – Amy

답변

0

무엇에 대해 :

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

그런 식으로 당신은 정수를 무작위로하고 당신이 그것을이 (12 개)의 고유 번호를 가지고 확신 , 그러면 th를 질의해야합니다. e DB가 존재할 경우 함수를 다시 실행하고 아무 것도 반환하지 않을 때까지 확인합니다.