1 个不稳定版本
0.1.0 | 2018年12月28日 |
---|
#19 in #ulid
30KB
656 行
yulid
yulid 是 ULID 规范的 Rust 实现,旨在尽可能与 uuid
相似。
支持
- 使用
rand
API 进行生成(默认) - 使用
serde
进行序列化和反序列化(具有功能) - 将 ULID 转换为和从
uuid
crate 提供的 UUID(具有功能)
示例
use yulid::Ulid;
fn main() {
// create a new ULID
let ulid = Ulid::new();
// print the lowercase form
println!("{}", ulid.to_lowercase());
// get the DateTime<Utc> this ULID contains
let timestamp = ulid.timestamp();
}
use rand::{Rng, thread_rng};
use yulid::Ulid;
fn main() {
// generate a ULID using rand
let ulid: Ulid = thread_rng().gen();
}
lib.rs
:
生成和解析ULID。
支持通用唯一字典序可排序标识符(ULID)。ULID 是 48 位时间戳和 80 位唯一数字的组合,存储为 16 个八位字节。ULID 用于为实体分配标识符,而不需要中心分配机构。
它在分布式系统中尤其有用,尽管可以在不同的领域使用,如数据库和网络协议。通常 UUID 以 26 个 base32 数字序列的可读字符串形式显示。
唯一性属性并不严格保证,但就所有实际用途而言,可以假定无意中发生冲突的可能性极低。
依赖关系
~1.6–2.3MB
~35K SLoC