Loading...
Loading...
免费的在线 UUID v4 生成器——单个或批量生成 UUID,用于数据库主键、会话令牌和 API 资源。一键全部复制。
UUID(通用唯一标识符)是一种由 RFC 4122 标准化的 128 位标识符。UUID 设计为在空间和时间上全球唯一,无需中央注册机构。它们已成为数据库主键、API 资源标识符、分布式系统 ID 以及任何需要在不同系统间独立生成 ID 且不发生冲突的场景的标准选择。
UUID v4 是最常见的变体,使用随机数生成所有 128 位(除 6 位用于标识版本和变体外)。这提供了约 2^122 个可能值——约 5.3 × 10^36 种组合——使得碰撞概率天文学般地低。你可以每秒生成 10 亿个 UUID 持续 85 年,才达到 50% 的碰撞概率。
其他 UUID 版本服务于不同目的:UUID v1 使用时间戳 + MAC 地址(可追溯到特定机器),UUID v3/v5 使用基于命名空间的确定性生成(相同输入 = 相同 UUID),UUID v7(提案中)将时间戳前缀编码以实现数据库索引友好的有序性。对于大多数应用,UUID v4 是正确的默认选择。
UUID 的常见用途包括:数据库主键(避免分布式数据库中的自增冲突)、API 资源标识符(不可预测、非顺序)、会话和事务 ID、跨微服务的事件追踪,以及日志系统中的关联 ID。UUID 在微服务和离线优先应用中特别有价值——这些场景下 ID 必须在无中央服务器的情况下生成。
性能考虑:UUID v4 主键因其随机性会导致数据库索引碎片化。UUID v7 或 ULID 通过先编码时间分量来解决此问题。UUID 作为字符串长度为 36 字符(128 位 = 16 字节二进制)。为获得最佳性能,建议以 binary(16) 存储或使用 PostgreSQL 的原生 uuid 类型。
不保证,但碰撞概率可忽略不计。UUID v4 有 122 个随机位——约 5.3 × 10^36 个可能值。生成 10 亿个 UUID 后的碰撞概率约为 10^18 分之一。实际使用中可视为唯一。
UUID v4 完全随机。UUID v7 将毫秒精度的时间戳编码为前缀,使 UUID 可排序并能减少数据库索引碎片。UUID v7 正成为新应用的推荐选择。
UUID 更适合分布式系统、防止 ID 枚举、可客户端生成。自增 ID 更快(整数索引)、存储更小、可读性更高、调试更方便。需要全局唯一性或防 ID 猜测时选择 UUID。