c# IdHelper生成唯一的雪花Id

  • A+
所属分类:.NET技术
摘要

在以前的项目中,最常见的两种主键类型是自增Id和UUID,在比较这两种ID之前首先要搞明白一个问题,就是为什么主键有序比无序查询效率要快,因为自增Id和UUID之间最大的不同点就在于有序性。


为什么使用雪花ID

在以前的项目中,最常见的两种主键类型是自增Id和UUID,在比较这两种ID之前首先要搞明白一个问题,就是为什么主键有序比无序查询效率要快,因为自增Id和UUID之间最大的不同点就在于有序性。

雪花ID是用一个64位的整形数字来做ID,对应.net中的long,数据库中的bigint,雪花算法的原始版本是scala版,用于生成分布式ID(纯数字,时间顺序),订单编号等。

自增ID:对于数据敏感场景不宜使用,且不适合于分布式场景。
GUID:采用无意义字符串,数据量增大时造成访问过慢,且不宜排序。

那雪花id到底在.net怎么使用呢,话不多说开撸!

安装:

    打开nuget包管理工具搜索IdHelper,安装图中的两个包;

c# IdHelper生成唯一的雪花Id

 

使用:

    安装之后需要进行简单的引用,引用到你所使用的类中。然后如图所示就可以获取一个雪花Id(如“1371659390377005056”)了。;

c# IdHelper生成唯一的雪花Id

 

 

 

其他:

    并且这个Idhelper中还封装有很多方法,图中都有备注。

c# IdHelper生成唯一的雪花Id

 

这些根据大家所需要的进行调用,本文就是简单的记一下。方便使用,不需要重新写和封装了。感谢观看!