Dmi*_*kin 2 uuid uniqueidentifier node.js node-modules node-uuid
我目前正在使用uuidnpm 包为应用程序中的图形数据库元素生成唯一 ID node.js。
它生成符合 RFC 标准的 128 位长 ID,例如
6e228580-1cb5-11e8-8271-891867c15336
Run Code Online (Sandbox Code Playgroud)
我目前正在考虑转向shortidnpm package,它执行类似的工作,但生成 7 位长 ID:
PPBqWA9
Run Code Online (Sandbox Code Playgroud)
我的数据库请求已经很长,我想缩短它们,所以我正在考虑从 切换uuid到shortid.
然而,问题是:我知道 128 位长的 UUID 生成器保证它是唯一的。那7位的呢?我知道它可以提供78364164096独特的可能性,这还不错,但是我的数据库中已经有大约 50M 的独特对象,每个对象都有一个唯一的索引,所以我只是好奇该算法是否真的能够生成唯一的索引ID考虑到78364164096仅是50000的1350倍。
有任何想法吗?我应该使用 7 位标识符还是 128 位标识符?
我假设shortid包提供的较短 id 是完整的 56 位长。但很可能它们占用 56 位长的空间(7 个字节),但只占用 42 位长的有效负载。
56 位和 128 位 id 都会发生冲突。差异在于发生碰撞的概率。我认为 56 位要求您能够处理冲突,因此您最终会得到更复杂的代码。128 位不太可能产生冲突,以至于通常不被考虑。
为了简单和安全,我会选择经过时间考验的128位。
| 归档时间: |
|
| 查看次数: |
2410 次 |
| 最近记录: |