目录
在信息系统中,生成唯一ID是非常常见的需求,尤其是在分布式系统或高并发场景下。以下是几种常见的生成唯一ID的算法或方式:
一、UUID
UUID(通用唯一识别码,Universally Unique Identifier)是一种用于标识信息的标准化方法,确保在全球范围内的唯一性。UUID通常以32个十六进制数字表示,分为五组,形式为 8-4-4-4-12,例如:123e4567-e89b-12d3-a456-426614174000。
C#示例:
using System;
class UUIDExample
{
static void Main()
{
// 生成一个随机UUID (Version 4)
Guid uuid = Guid.NewGuid();
Console.WriteLine(uuid); // 输出示例: 123e4567-e89b-12d3-a456-426614174000
}
}
特点:
- 长度固定为128位(通常以32字符的字符串形式表示)。
- 唯一性依赖于标准算法,冲突概率极低。
- 不适合需要排序或较短ID的场景。
二、雪花算法
雪花算法(Snowflake Algorithm)是 Twitter 在 2010 年开源的一种分布式 ID 生成算法,用于在分布式系统中生成全局唯一的 ID。它的核心思想是将一个 64 位的 ID 分成多个部分,每个部分代表不同的信息,例如时间戳、机器 ID 和序列号等。
雪花算法的 ID 结构
雪花算法生成的 64 位 ID 结构如下:
| 1 bit | 41 bits | 10 bits | 12 bits |
全局唯一标识符(UID)生成策略解析

最低0.47元/天 解锁文章
5452

被折叠的 条评论
为什么被折叠?



