MyBatis-Plus 使用雪花算法生成主键ID时,默认生成的是19位的ID。

对应java 中的Long类型 ,和mysql数据库BIGINT(19)

雪花算法(Snowflake)是一种生成分布式唯一ID的算法,它结合了时间戳和机器ID,以此生成一个19位的长整型ID。

雪花算法的19位长度由以下几部分组成:

  1. 1位不用,因为长整型的最高位是符号位,所以实际能用的位数是63位。

  2. 41位时间戳(毫秒级),可以提供从2000-01-01 08:00:00 到 2106-02-07 06:28:15 的时间范围。

  3. 10位机器ID(可以由5位数据中心ID和5位机器ID组成)。

  4. 12位序列号(同一毫秒内同一个节点可以生成4096个ID)。

总结:雪花算法生成的19位ID由41位时间戳、10位机器ID和12位序列号组成,总共可以在一定的时间范围内,为全球数百万个节点提供唯一的ID。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐