什么是UUID?
UUID(Universally Unique Identifier,通用唯一标识符)是一个128位的数字,通常用32个十六进制数字表示,用连字符分隔成8-4-4-4-12的形式。
UUID的格式
标准UUID格式:xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
- xxxxxxxx-xxxx:时间戳的低32位
- 4xxx:版本号(4表示随机UUID)
- yxxx:变体位(8、9、A或B)
- xxxxxxxxxxxx:节点标识符
UUID的用途
- 数据库主键:作为唯一标识符,避免ID冲突
- 分布式系统:在多个系统间生成唯一标识
- API接口:作为资源标识符
- 文件命名:避免文件名冲突
- 会话管理:生成唯一的会话ID
UUID版本
- UUID v1:基于时间和节点ID生成
- UUID v3:基于命名空间和名称的MD5哈希
- UUID v4:随机生成(最常用)
- UUID v5:基于命名空间和名称的SHA-1哈希
优势
- 全局唯一性,几乎不可能重复
- 无需中央协调即可生成
- 适用于分布式系统
- 标准化的格式
注意事项
- UUID较长,占用存储空间较大
- 不适合作为数据库索引(除非特殊优化)
- v4版本是随机生成的,没有时间顺序