9个不稳定版本
0.5.0 | 2023年8月10日 |
---|---|
0.4.1 | 2022年10月4日 |
0.3.2 | 2021年12月7日 |
0.3.0 | 2020年12月29日 |
0.1.0 | 2018年4月7日 |
#97 在 数据结构 中排名
141,381 每月下载量
在 124 个 遗留物中使用(直接使用10个)
11KB
156 行
NUID
高性能的唯一标识符生成器。
安装
在 Cargo.toml 中
[dependencies]
nuid = "0.5"
基本用法
// Utilize the global locked instance
nuid := nuid::next();
// Create an instance, these are not locked.
n := nuid::NUID::new();
nuid = n.next();
// Generate a new crypto/rand seeded prefix.
// Generally not needed, happens automatically.
n.randomize_prefix();
性能
NUID需要非常快地生成,并且真正唯一,同时还要对熵池友好。NUID使用12字节的加密生成数据(熵消耗),以及10字节的伪随机顺序数据,该数据以伪随机增量递增。
NUID字符串的总长度为22字节的62进制ASCII文本,所以有62^22或2707803647802660400290261537185326956544种可能性。
NUID可以以60纳秒的速度生成标识符,或每秒约1600万个。有一个相关的基准测试,您可以用来测试您自己硬件的性能。
许可证
除非另有说明,否则NATS源文件根据LICENSE文件中找到的Apache Version 2.0许可证分发。
依赖项
~315KB