一次生成 UUID v4、NanoID、短随机串、雪花 ID 样例,点击即复制,开发者常备。
🔒 全部在浏览器本地完成最常派上用场的是造测试数据:新表的主键、外键、订单号要几十上百个互不重复的值,手敲不现实。选 UUID v4、数量填 100,一条条点复制,一会儿就凑齐一整套 mock 数据,比临时写脚本还快。
另一个是给请求加 trace id 或做分享链接:UUID 36 位太长还带横杠,塞进 URL 里得转义。切到 NanoID 就舒服了——21 位、全是 URL 安全字符,放日志和链接里都干净利落。
出来的这些 ID 会撞车吗?基本不会。UUID v4 有 122 个随机位,随机数走的是浏览器 crypto 接口这个加密级随机源,不是 Math.random 那种凑合货,重复概率小到工程上可以直接当零。
UUID 和 NanoID 该选哪个?进数据库、对接第三方接口、迁就老系统,选 UUID v4,兼容性最好;自家系统内部标识、要塞进 URL 或者在意长度,选 NanoID,短一截还省存储。
时间戳 ID 和随机 ID 差在哪?时间戳 ID 按时间排天然有序,翻日志找最早的记录、按天分页都方便;但它能被看出规律,别拿它当对外暴露的 ID,对外的活儿还是交给 v4 或 NanoID。