UUID(通用唯一識別符號)生成工具支援批次生成多個版本的 UUID,包括時間戳順序型的 UUID v1、完全隨機的 UUID v4,以及 RFC 9562 新增的單調遞增時間戳型 UUID v7,同時支援生成 Nanoid(更短的隨機 ID)。UUID 是分散式系統中生成無需中央協調的唯一識別符號的標準方案。
常見使用場景:為資料庫記錄生成主鍵、在微服務或多節點場景中生成不衝突的請求 ID 或事務 ID、為檔案或資源生成唯一名稱、測試時生成批次測試 ID。UUID v7 因為帶有時間字首,在資料庫索引中順序插入效能比隨機 v4 更好。
UUID v4 有 122 位隨機數,碰撞機率極低(生成約 2.7 萬億個才有 50% 碰撞機率),工程實踐中視為全域性唯一。但在極端高併發下,如果對唯一性有嚴格要求,可以考慮結合資料庫唯一約束兜底。
若用作資料庫主鍵,推薦 UUID v7:它帶有毫秒級時間戳字首,天然有序,可以顯著減少 B-tree 索引的頁分裂,提升寫入效能。若只需要隨機且唯一的識別符號而不關心排序,v4 更簡單。
Nanoid 預設生成 21 個字元(使用 URL 安全字元集),比 UUID(36 個字元含連字元)更短,適合需要出現在 URL 或介面上的場景。兩者隨機性相當,Nanoid 可自定義長度和字元集。
可以。去掉連字元後得到 32 位十六進位制字串,功能相同,只是格式不符合標準 UUID 格式(8-4-4-4-12)。是否保留連字元取決於業務系統的格式要求。