生成雪花算法唯一 id
约 164 字小于 1 分钟
2025-02-12
雪花算法(Snowflake Algorithm)是由 Twitter 开发的一个分布式唯一 ID 生成算法,它的目的是在分布式系统中生成全局唯一的 ID,用来替代数据库中的自增长 id。
如何生成 int64 类型的雪花 id
引入 Nuget 包: Mirage.Snowflake
依赖注入:
services.AddSnowflakeGenerator(当前机器id);在 controller 中生成 id:
public class DemoController : BaseController
{
ISnowflakeGenerator<实体类> _snowflakeGenerator;
public DemoController(ISnowflakeGenerator<实体类> snowflakeGenerator){
_snowflakeGenerator = snowflakeGenerator;
}
public async Task Test()
{
//生成id
var id = _snowflakeGenerator.NewId();
}
} 注意
同一个 ISnowflakeGenerator 类型所生成的 id 是不会有重复的。
同一个 ISnowflakeGenerator 类型所生成的 id 是不会有重复的。
