#ulid #uuid #generate #parse #identifier #unique #timestamp

yulid

一个用于生成和解析ULID的库

1 个不稳定版本

0.1.0 2018年12月28日

#19 in #ulid

MIT 许可协议

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