推荐一款唯一 id 生成器
唯一 id 生成的方式有很多种,常见的有以下几类:
语言自带,如 Java 中的 UUID
第三方工具提供,如 npm 中的 nanoid
Twitter 开源的 Snowflake
美团开源的Leaf
...
本文再推荐一款唯一 id 生成器:Hashids。它具有以下特性:
只能把指定的整数转换为唯一 id,具有局限性。
不会发生冲突。因此我们无需考虑冲突碰撞的解决方案。
可自定义字符集和盐。
生成的结果无序,避免被遍历。
可以反向解析,这对于某些场景尤为合适(比如短链接系统,可以根据生成的短链接 id 获取原始 id,再从数据库中根据原始 id 拿到对应的长链接)。
该工具包含多种语言版本,且源码短小精悍,有兴趣的同学可以到官网学习使用。
版权声明: 本文为 InfoQ 作者【xiaoxi666】的原创文章。
原文链接:【http://xie.infoq.cn/article/dc03fc467e3a8c7e3eea56eaf】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论