分布式ID生成-雪花算法

怼烎@ 2022-09-11 05:14 325阅读 0赞

为什么要用雪花算法?

  • 生成有顺序的id,提高数据库的性能,现在大部分都不用uuid作为主键,因为不规则,每向数据库插入一条数据就要重新排列,使数据库性能降低。
  • 分布式环境,ID唯一
  • 所有生成的id按时间趋势递增

使用

1.引入pom依赖

  1. <dependency>
  2. <groupId>cn.hutool</groupId>
  3. <artifactId>hutool-all</artifactId>
  4. <version>4.5.9</version>
  5. </dependency>

2.java代码

  1. //生成带-的UUID字符串
  2. System.out.println(IdUtil.randomUUID());
  3. //生成不带-的UUID字符串
  4. System.out.println(IdUtil.simpleUUID());
  5. //使用雪花算法生成id
  6. System.out.println(IdUtil.getSnowflake(0,0).nextId());
  7. //使用雪花算法生成id,返回字符串类型
  8. System.out.println(IdUtil.getSnowflake(1,1).nextIdStr());
  9. System.out.println(IdUtil.getSnowflake(1,1).nextIdStr());
  10. System.out.println(IdUtil.getSnowflake(2,1).nextIdStr());
  11. System.out.println(IdUtil.getSnowflake(2,1).nextIdStr());

3.结果展示
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,325人围观)

还没有评论,来说两句吧...

相关阅读

    相关 分布式ID——雪花算法

    背景 随着现在业务量的越来越大,数据库的划分也变的越来越细,分库分表的理念也渐渐的落地,自增主键或者序列之类的主键id生成方式已经不再满足需求,所以分布式ID的生成就应运

    相关 分布式ID生成-雪花算法

    为什么要用雪花算法? 生成有顺序的id,提高数据库的性能,现在大部分都不用uuid作为主键,因为不规则,每向数据库插入一条数据就要重新排列,使数据库性能降低。