#id-generator #unique-id #unique-identifier #id #process-id #object-id #sortable

xid

全局唯一可排序的 ID 生成器。基于 https://github.com/rs/xid 的 Rust 版本。

8 个版本 (稳定版)

1.1.1 2024年4月23日
1.0.3 2022年10月14日
1.0.2 2022年7月5日
1.0.1 2022年6月24日
0.1.1 2020年12月13日

#172 in 数据库接口

Download history 1401/week @ 2024-04-27 1298/week @ 2024-05-04 1344/week @ 2024-05-11 1071/week @ 2024-05-18 1172/week @ 2024-05-25 1039/week @ 2024-06-01 1121/week @ 2024-06-08 1271/week @ 2024-06-15 1171/week @ 2024-06-22 1078/week @ 2024-06-29 1971/week @ 2024-07-06 1228/week @ 2024-07-13 1342/week @ 2024-07-20 1552/week @ 2024-07-27 1318/week @ 2024-08-03 1381/week @ 2024-08-10

5,795 每月下载量
17 个 Crates 中使用 (直接使用 10)

MIT 许可证

22KB
418 代码行

xid

CI Crates.io API reference

全局唯一可排序的 ID 生成器。基于 https://github.com/rs/xid 的 Rust 版本。

二进制表示与 Mongo DB 12 字节 ObjectId 兼容。值由以下组成:

  • 4 字节时间戳值,自 Unix 纪元以来
  • 基于机器标识符的 3 字节值
  • 基于进程 ID 的 2 字节值
  • 3 字节递增计数器,初始值为随机值

字符串表示为 20 字节的 base32 hex 变体字符 [0-9a-v] 以保持 ID 的可排序性。

更多信息请参考原始 xid 项目。

用法

println!("{}", xid::new()); //=> bva9lbqn1bt68k8mj62g

示例

依赖

~0.6–8.5MB
~65K SLoC