2
A
回答
6
你可以看看Twitter的開源Snowflake project尋找靈感,它解決了類似的問題。它是用Scala編寫的,但是簡化版本在C#中編碼非常簡單。
前提是獲取當前的時間戳,並將其左移一位,將右側的位留給一個簡單的序列號,每當時間戳增量時將其復位爲0。通過處理位長和改變時間戳的粒度(例如決定是使用秒還是毫秒),你應該能夠很容易地生成可以適合17位的東西。
0
您可以使用GUID,GUID(全局唯一標識符)是一個128位整數,可用於唯一標識某些內容。
System.Guid.NewGuid()
+1
2^128 = 3.4 * 10^38> 10^17即你違反17位數的要求 – CodesInChaos 2010-12-10 15:24:05
相關問題
- 1. 在數據庫中生成自動唯一編號
- 2. 生成唯一編號
- 3. Java EE中的唯一編號生成
- 4. 從種子生成的唯一編號
- 5. Access數據庫中的唯一成員編號
- 6. SQL Server數據庫唯一編號生成任何記錄插入
- 7. 如何在現有數據庫中生成唯一的ID-s?
- 8. 所有數據庫供應商的唯一ID生成
- 9. 根據Javascript中的字符串輸入生成唯一編號
- 10. 生成唯一訂單號
- 11. 生成的字母數字的唯一編號
- 12. 可能生成沒有數據庫表的序列號?
- 13. 有沒有辦法通過編寫PHP來生成數據庫?
- 14. 如何生成自動編號具有唯一值
- 15. MVC Code First - 數據庫沒有生成
- 16. 數據庫還沒有生成
- 17. C#隨機數生成器與唯一編號
- 18. 生成要存儲在數據庫中的唯一隨機數
- 19. 保證與彈簧數據和休眠的唯一編號生成
- 20. 有沒有什麼功能可以生成唯一的數字
- 21. 發生數據庫錯誤錯誤編號:1066不是唯一的表/別名:
- 22. 在數據庫中自動提供唯一的編號
- 23. 生成唯一序列號的java
- 24. 每天生成唯一的序列號
- 25. 在數據庫外部生成一個非guid唯一鍵
- 26. 用數據庫表生成唯一隨機數
- 27. 自動生成的每次更新的唯一編號列
- 28. 需要生成與BDD的蟒蛇中的唯一編號
- 29. 生成跨多個數據庫唯一的主鍵
- 30. PHP從數據庫生成唯一的ID
定義「唯一」。 – ybungalobill 2010-12-10 11:06:45
獨特性如何?獨特的當前過程?機器?宇宙? – 2010-12-10 11:06:47
@Malachi:記住隨機可能產生兩次相同的數字;所以它不一定是唯一的。 – 2010-12-10 11:07:38