每个 ULID 前 10 个 Crockford Base32 字符会编码毫秒时间戳,后 16 个字符则来自随机值。当同一毫秒内生成多条 ID 时,随机段会递增,因此列表仍可按创建顺序排序。
此页一次最多生成 1,000 组 ULID,并使用避开易混淆字符的字母表。它适合创建可排序测试数据与数据库键,但不是会替正式服务协调 ID 的中央注册系统。
关于这个主题的常见疑问与实用解答。
ULID(通用唯一字典序可排序标识符)是一种结合毫秒级时间戳与随机数的唯一标识符,既唯一又可按创建时间排序。
ULID 可按时间排序且使用更紧凑的 Crockford Base32 编码,而 UUID v4 完全随机且使用十六进制。当需要时间排序时 ULID 更为理想。
当需要按时间排序时(如数据库主键或事件日志),建议使用 ULID。当与现有系统的兼容性更重要时,使用 UUID。
不会,ULID 生成完全在您的浏览器中执行。标识符通过 JavaScript 在本地创建,不会传送至任何地方。