📥 解析 ULID
关于 ULID
- ULID = Universally Unique Lexicographically Sortable Identifier(规范见 github.com/ulid/spec)
- 26 个字符,使用 Crockford Base32(去掉 I、L、O、U 避免混淆)
- 结构:
TTTTTTTTTT RRRRRRRRRRRRRRRR= 10 位时间戳(毫秒)+ 16 位随机 - 可排序:字典序 = 时间顺序(对数据库索引非常友好)
- 128 位长度,与 UUID 同样的唯一性保证
ULID 相比 UUID v4 的优势
- 按时间排序——数据库索引天然按插入顺序排列(无随机分散)
- URL 友好——无连字符,更短(26 vs 36 字符)
- 大小写不敏感——易于口述和键入
- 现代系统广泛使用:Vercel、Stripe、约会 App、分布式系统