首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Node中使用128位长(uuid)还是7位长(短ID )的唯一ID生成器更好?

问在Node中使用128位长(uuid)还是7位长(短ID )的唯一ID生成器更好?
EN

Stack Overflow用户
提问于 2018-03-01 02:57:47
回答 1查看 1.9K关注 0票数 2

我目前正在使用uuid npm package为我的node.js应用程序中的图形数据库元素生成惟一的in。

它生成符合RFC的128位长ID,例如

代码语言:javascript
复制
6e228580-1cb5-11e8-8271-891867c15336

我目前正在考虑转向shortid npm package,它可以完成类似的工作,但会生成7位长的ID:

代码语言:javascript
复制
PPBqWA9

我的数据库请求已经很长了,我想缩短它们,所以我正在考虑从uuid切换到shortid。

然而,问题是:我知道128位长的兼容UUID生成器保证它将是唯一的。那么7位的呢?我知道它可以提供关于78364164096的唯一可能性,这是不错的,但我的数据库中已经有大约5000万个唯一的对象,每个对象都有一个唯一的索引,所以我很好奇这个算法是否真的能够生成一个唯一的ID,考虑到78364164096只是50000的1350倍。

有什么想法吗?我应该使用7位标识符还是128位标识符?

EN

回答 1

Stack Overflow用户

发布于 2018-03-01 03:13:12

我假设shortid包提供的较短的I是完整的56位长。但它们最有可能占用56位长空间(7字节),但只占用42位长的有效负载。

56位和128位ids都会发生冲突。不同之处在于碰撞的概率。我认为56位的代码要求你能够处理冲突,所以你最终会有一个更复杂的代码。128位不太可能产生冲突到通常不被考虑的程度。

为了简单和安全起见,我会选择经过时间验证的128位。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49036682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档