Skip to content

High Performance Snowflake ID Generator Springboot Autoconfigure 高性能雪花ID生成器SpringBoot自动配置

License

Notifications You must be signed in to change notification settings

ALI1416/id-spring-boot-autoconfigure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

High Performance Snowflake ID Generator Springboot Autoconfigure 高性能雪花ID生成器SpringBoot自动配置

License Java Support Maven Central Tag Repo Size

Java CI Coverage Reliability Rating Maintainability Rating Security Rating

简介

本项目是高性能雪花ID生成器的SpringBoot自动配置

支持版本

依赖导入

<dependency>
  <groupId>cn.404z</groupId>
  <artifactId>id-spring-boot-autoconfigure</artifactId>
  <version>3.2.0</version>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter</artifactId>
  <version>2.7.18</version>
</dependency>

使用方法

直接调用

// id:
//   machine-id: 0
//   machine-bits: 8
//   sequence-bits: 14
log.info("ID {}", Id.next());
// INFO c.z.i.autoconfigure.IdAutoConfiguration  : 高性能雪花ID生成器配置:机器码MACHINE_ID 0 ,机器码位数MACHINE_BITS 8 ,序列号位数SEQUENCE_BITS 14
// INFO cn.z.id.Id                               : 高性能雪花ID生成器预初始化:机器码MACHINE_ID 0 ,机器码位数MACHINE_BITS 8 ,序列号位数SEQUENCE_BITS 12 ,最大机器码MACHINE_ID 255 ;1ms最多生成ID 4096 个,起始时间 2021-01-01 08:00:00.0 ,失效时间 2299-09-27 23:10:22.207 ,大约可使用 278 年
// INFO cn.z.id.Id                               : 高性能雪花ID生成器初始化:机器码MACHINE_ID 0 ,机器码位数MACHINE_BITS 8 ,序列号位数SEQUENCE_BITS 14 ,最大机器码MACHINE_ID 255 ;1ms最多生成ID 16384 个,起始时间 2021-01-01 08:00:00.0 ,失效时间 2090-09-07 23:47:35.551 ,大约可使用 69 年
// INFO c.z.i.a.IdAutoConfigurationTest          : Started IdAutoConfigurationTest in 0.899 seconds (JVM running for 1.828)
// INFO c.z.i.a.IdAutoConfigurationTest          : ID 361782932349648897

没有配置

// # 不需要配置
log.info("ID {}", Id.next());
// INFO c.z.i.autoconfigure.IdAutoConfiguration  : 高性能雪花ID生成器配置:机器码MACHINE_ID 0 ,机器码位数MACHINE_BITS 8 ,序列号位数SEQUENCE_BITS 12 
// INFO cn.z.id.Id                               : 高性能雪花ID生成器预初始化:机器码MACHINE_ID 0 ,机器码位数MACHINE_BITS 8 ,序列号位数SEQUENCE_BITS 12 ,最大机器码MACHINE_ID 255 ;1ms最多生成ID 4096 个,起始时间 2021-01-01 08:00:00.0 ,失效时间 2299-09-27 23:10:22.207 ,大约可使用 278 年
// INFO cn.z.id.Id                               : 高性能雪花ID生成器初始化:机器码MACHINE_ID 0 ,机器码位数MACHINE_BITS 8 ,序列号位数SEQUENCE_BITS 12 ,最大机器码MACHINE_ID 255 ;1ms最多生成ID 4096 个,起始时间 2021-01-01 08:00:00.0 ,失效时间 2299-09-27 23:10:22.207 ,大约可使用 278 年
// INFO c.z.i.a.IdAutoConfigurationTest          : Started IdAutoConfigurationTest in 0.899 seconds (JVM running for 1.828)
// INFO c.z.i.a.IdAutoConfigurationTest          : ID 90445819549843456

配置部分属性

// id:
//   machine-id: 10
log.info("ID {}", Id.next());
// INFO c.z.i.autoconfigure.IdAutoConfiguration  : 高性能雪花ID生成器配置:机器码MACHINE_ID 10 ,机器码位数MACHINE_BITS 8 ,序列号位数SEQUENCE_BITS 12 
// INFO cn.z.id.Id                               : 高性能雪花ID生成器预初始化:机器码MACHINE_ID 0 ,机器码位数MACHINE_BITS 8 ,序列号位数SEQUENCE_BITS 12 ,最大机器码MACHINE_ID 255 ;1ms最多生成ID 4096 个,起始时间 2021-01-01 08:00:00.0 ,失效时间 2299-09-27 23:10:22.207 ,大约可使用 278 年
// INFO cn.z.id.Id                               : 高性能雪花ID生成器初始化:机器码MACHINE_ID 10 ,机器码位数MACHINE_BITS 8 ,序列号位数SEQUENCE_BITS 12 ,最大机器码MACHINE_ID 255 ;1ms最多生成ID 4096 个,起始时间 2021-01-01 08:00:00.0 ,失效时间 2299-09-27 23:10:22.207 ,大约可使用 278 年
// INFO c.z.i.a.IdAutoConfigurationTest          : Started IdAutoConfigurationTest in 0.899 seconds (JVM running for 1.828)
// INFO c.z.i.a.IdAutoConfigurationTest          : ID 90445884320423937

配置属性后又手动初始化

// id:
//   machine-id: 0
//   machine-bits: 8
//   sequence-bits: 6
Id.init(20, 6, 10);
log.info("ID {}", Id.next());
// INFO c.z.i.autoconfigure.IdAutoConfiguration  : 高性能雪花ID生成器配置:机器码MACHINE_ID 0 ,机器码位数MACHINE_BITS 8 ,序列号位数SEQUENCE_BITS 6
// INFO cn.z.id.Id                               : 高性能雪花ID生成器预初始化:机器码MACHINE_ID 0 ,机器码位数MACHINE_BITS 8 ,序列号位数SEQUENCE_BITS 12 ,最大机器码MACHINE_ID 255 ;1ms最多生成ID 4096 个,起始时间 2021-01-01 08:00:00.0 ,失效时间 2299-09-27 23:10:22.207 ,大约可使用 278 年
// INFO cn.z.id.Id                               : 高性能雪花ID生成器初始化:机器码MACHINE_ID 0 ,机器码位数MACHINE_BITS 8 ,序列号位数SEQUENCE_BITS 6 ,最大机器码MACHINE_ID 255 ;1ms最多生成ID 64 个,起始时间 2021-01-01 08:00:00.0 ,失效时间 19860-03-05 19:03:41.311 ,大约可使用 17851 年
// INFO c.z.i.a.IdAutoConfigurationTest          : Started IdAutoConfigurationTest in 0.899 seconds (JVM running for 1.828)
// WARN cn.z.id.Id                               : 已经初始化过了,不可重复初始化!
// INFO c.z.i.a.IdAutoConfigurationTest          : ID 1413217897070592

更多请见测试

更新日志

点击查看

关于

About

About

High Performance Snowflake ID Generator Springboot Autoconfigure 高性能雪花ID生成器SpringBoot自动配置

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages