#uuid #guid #serialization #segment #generate #io #base62

ksuid

一个用于高效生成、解析和序列化Segment.io KSUIDs的库

2个不稳定版本

使用旧的Rust 2015

0.2.0 2017年6月19日
0.1.0 2017年6月15日

#9#base62

Download history • Rust 包仓库 111/week @ 2024-03-31 • Rust 包仓库 29/week @ 2024-04-07 • Rust 包仓库 50/week @ 2024-04-14 • Rust 包仓库 45/week @ 2024-04-21 • Rust 包仓库 51/week @ 2024-04-28 • Rust 包仓库 54/week @ 2024-05-05 • Rust 包仓库 47/week @ 2024-05-12 • Rust 包仓库 47/week @ 2024-05-19 • Rust 包仓库 96/week @ 2024-05-26 • Rust 包仓库 67/week @ 2024-06-02 • Rust 包仓库 36/week @ 2024-06-09 • Rust 包仓库 49/week @ 2024-06-16 • Rust 包仓库 39/week @ 2024-06-23 • Rust 包仓库 58/week @ 2024-06-30 • Rust 包仓库 26/week @ 2024-07-07 • Rust 包仓库 36/week @ 2024-07-14 • Rust 包仓库

168 每月下载量
4 个crate中(3个直接使用) 使用

MIT 协议

19KB
294

Version Docs

Ksuid

KSUID代表K-Sortable Unique IDentifier,是Segment使用的全球唯一标识符。

KSUIDs结合了1秒分辨率的戳记,可以按时间顺序排序,以及类似于UUIDv4的128位随机有效负载。它们可以使用Base62编码进行序列化,以适应只支持字母数字数据的环境。二进制和字符串表示的字典序保留了嵌入戳记的时间顺序。

有关更多信息,请参阅标准实现

本库作者与Segment无关。

本仓库包含两个独立的crate,一个是用于生成、解析和序列化KSUIDs的库(ksuid),另一个是简单的CLI(ksuid-cli),它公开了部分功能以供交互式使用。

基准测试

库包含一些基准测试,用于比较其性能与标准实现。但是,基准测试使用rust的不稳定test crate,因此它们隐藏在功能标志后面。使用编译器的夜间版本执行cargo bench --features bench以运行基准测试。

依赖关系

~1–1.4MB
~22K SLoC