唯一ID工具-IdUtil
# 简介
在分布式环境中,唯一ID生成应用十分广泛,生成方法也多种多样,Hutool针对一些常用生成策略做了简单封装。
唯一ID
GUID ObjectId(MongoDB) Snowflake(Twitter)
# EasyTool.IdUtil 类
静态工具类 IdUtil,它提供了三种不同类型的唯一ID生成方法,包括生成GUID、MongoDB的ObjectId和Snowflake算法生成的唯一ID。这些方法可以用于各种需要唯一标识符的应用场景,比如数据库主键、分布式锁等。每个方法都包含了详细的注释,指明了方法的功能和返回值,可以根据需要进行调整和扩展。
# UIID
UUID全称通用唯一识别码(universally unique identifier)
/// <summary>
/// 生成UUID
/// </summary>
/// <returns>生成的UUID</returns>
public static string UUID()
# ObjectId
ObjectId是MongoDB数据库的一种唯一ID生成策略,是UUID version1的变种
/// <summary>
/// 生成MongoDB ObjectId
/// </summary>
/// <returns>生成的MongoDB ObjectId</returns>
public static string ObjectId()
# Snowflake
分布式系统中,有一些需要使用全局唯一ID的场景,有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。
/// <summary>
/// 生成Snowflake ID
/// </summary>
/// <returns>生成的Snowflake ID</returns>
public static long SnowflakeId()
# 代码示例
using System;
class Program
{
static void Main(string[] args)
{
string guid = IdUtil.UUID();
Console.WriteLine("Generated GUID: " + guid);
string objectId = IdUtil.ObjectId();
Console.WriteLine("Generated MongoDB ObjectId: " + objectId);
long snowflakeId = IdUtil.SnowflakeId();
Console.WriteLine("Generated Snowflake ID: " + snowflakeId);
}
}
# 输出结果
Generated UUID: 5e0f7949-6a9f-41c5-a99d-6b7711686cf8
Generated MongoDB ObjectId: CAEPRGUK5VMCJN9Q2AAB
Generated Snowflake ID: 1244162647880590851
上次更新: 2023/04/26, 22:10:06