ULID 生成器
生成按字典序排序的唯一标识符。
01KX6T5Z5AP35J15QTX4AZ1ZSX01KX6T5Z5AMJ07EZ2YX4RTSD7E01KX6T5Z5ABVBCGMHCG62ZVTJH01KX6T5Z5AX70TZ7DN80SK673X01KX6T5Z5ASACPFFWP5NXDVKPPHow to Use
- 设置生成数量,可选指定自定义时间戳(默认为当前毫秒时间戳)。
- 每个生成的 ULID 由 10 字符时间戳前缀和 16 字符随机后缀组成,使用 Crockford Base32 编码(共 26 字符,大写字母和数字,无歧义字符)。
- 复制 ULID,用于数据库主键、事件 ID、日志条目标识符,或任何需要按时间排序的唯一标识符场景。
Frequently Asked Questions
- ULID 与 UUID 有什么区别?
- ULID 支持字典序排序——按字母顺序排序等同于按创建时间排序。它也更紧凑:26 字符 vs UUID 的 36 字符(无连字符)。UUID v4 是纯随机的,没有时间顺序。当你既需要唯一性又需要按时间自然排序时,ULID 是理想选择。
- 时间戳部分精确吗?
- 时间戳精确到毫秒。对于同一毫秒内生成的多个 ULID,随机部分会单调递增,即使在高速生成场景下也能保证严格有序。
- 可以用作数据库主键吗?
- 可以——ULID 是主键的优秀选择。其时间有序的特性减少了 B 树索引分裂,相比随机 UUID 性能更好。可在任何主流数据库中作为文本或二进制列使用。