8 releases (stable)
1.1.1 | Apr 23, 2024 |
---|---|
1.0.3 | Oct 14, 2022 |
1.0.2 | Jul 5, 2022 |
1.0.1 | Jun 24, 2022 |
0.1.1 | Dec 13, 2020 |
#394 in Database interfaces
6,275 downloads per month
Used in 17 crates
(10 directly)
22KB
418 lines
xid
Globally unique sortable id generator. A Rust port of https://github.com/rs/xid.
The binary representation is compatible with the Mongo DB 12-byte ObjectId. The value consists of:
- a 4-byte timestamp value in seconds since the Unix epoch
- a 3-byte value based on the machine identifier
- a 2-byte value based on the process id
- a 3-byte incrementing counter, initialized to a random value
The string representation is 20 bytes, using a base32 hex variant with characters [0-9a-v]
to retain the sortable property of the id.
See the original xid
project for more details.
Usage
println!("{}", xid::new()); //=> bva9lbqn1bt68k8mj62g
Examples
cargo run --example gen
: Generate xid
Dependencies
~0.6–8MB
~61K SLoC