ULID 生成器
在线生成通用唯一词典序可排序标识符(ULID),解码ULID提取时间戳,支持批量生成,适用于数据库和分布式系统。
什么是ULID?
ULID是通用唯一词典序可排序标识符(Universally Unique Lexicographically Sortable Identifier)的缩写,是一种126位标识符,与UUID兼容但具有更适合现代分布式系统的特性。
ULID有多长?
ULID使用Crockford Base32编码时为26个字符,表示126位数据。格式为TTTTTTTTMMMMMMMMMMMMMMMM,其中T是时间戳,M是随机数。
ULID和UUID有什么区别?
ULID按创建时间词典序可排序,使用Crockford Base32编码(不区分大小写,无歧义字符),且URL安全。UUID缺乏基于时间的排序,使用带连字符的十六进制编码。
ULID编码如何工作?
ULID使用Crockford Base32编码,使用字符0-9和A-Z(排除I、L、O、U以避免混淆)。这使得ULID不区分大小写且URL安全。
我可以从ULID中提取时间戳吗?
可以,ULID的前10个字符编码了48位Unix毫秒时间戳。我们的解码器提取此时间戳并以人类可读格式显示。
ULID抗冲突吗?
是的,ULID有80位随机性,每毫秒提供约1.2 x 10^24个可能值,使冲突在天文数字上不太可能。
ULID可以用作数据库主键吗?
可以,ULID非常适合数据库主键,因为它们按时间可排序(提高索引性能)、全局唯一,且不需要节点间协调。
一次可以生成多少ULID?
我们的工具支持批量生成数百或数千个ULID。只需指定数量并点击生成。
ULID是标准吗?
ULID由ulid.spec.app的公共规范定义。虽然不像UUID(RFC 4122)那样是官方RFC,但它在现代软件开发中被广泛采用。
ULID是URL安全的吗?
是的,ULID使用Crockford Base32编码,只包含字母数字字符,使其在URL、文件名和其他上下文中安全无需编码。
ULID可以按时间顺序排序吗?
可以,这是ULID的关键优势之一。由于时间戳位于最高有效位,ULID作为字符串比较时自然按时间顺序排序。
ULID用于什么?
ULID用于数据库键、分布式追踪、会话ID、API中的资源标识符、事件溯源,以及任何需要全局唯一时间可排序标识符的场景。