新月武器库 ----- 提供一些 Java 开发工具
更新日期 | 版本号 | 功能说明 |
---|---|---|
....... | ...... | 升级中... |
2022-08-20 | 1.0.64-RELEASE | 添加id客户端单双号段生成器 |
2022-08-11 | 1.0.63-RELEASE | 基础功能 |
- 首先在maven的配置文件中setting.xml中加上镜像
<mirror>
<id>repo1</id>
<name>Mirror from Maven Repo2</name>
<url>https://repo1.maven.org/maven2/</url>
<mirrorOf>central</mirrorOf>
</mirror>
- 查看版本:
仓库: https://mvnrepository.com/artifact/io.github.qingguox/Crescent-Toolkit 最准确: https://repo1.maven.org/maven2/io/github/qingguox/Crescent-Toolkit/
<dependency>
<groupId>io.github.qingguox</groupId>
<artifactId>Crescent-Toolkit</artifactId>
<version>1.0.64-RELEASE</version>
</dependency>
相关测试代码在 src/test/io.github.qingguox下
- 单表获取某个id后多少条数据
- shard批量处理数据,然后得到结果
- ms转日期和日
- 分转元
- rocketMq延迟消息utils
同步、异步、延迟
- 多线程处理并校验结果
- getValue, getDesc
- 提供json -> 对象, 对象->json , 支持第七点的枚举类型.
0.相关文档 https://www.yuque.com/docs/share/0183caa8-d29c-4b48-97f5-6a5cd05933a2?# 《各种ID生成器》
线程池配置:
ThreadPoolExecutor executor = new ThreadPoolExecutor(100, 100,
300, TimeUnit.SECONDS, queue, new ThreadFactoryBuilder() //
.setNameFormat("data-load-executor-holder-%d") //
.build());
sql 配置: 在resource 文件夹下的 IdSequence.sql中.
1.提供客户端批量单号段生成器.
- case: io.github.qingguox.id.sequence.IdSequenceTest#testGenId("testGenIdSingleSection");
- 性能: 单进程, 多线程. 10000条数据, 耗时 26903ms
2.提供客户端批量双号段生成器.
- case : io.github.qingguox.id.sequence.IdSequenceTest#testGenId("testGenIdTwoSection");
- 性能: 10000 条数据, 耗时 27629ms
3.大家可能感觉加了双号段反而耗时还增加了?
其实是这样的, 双号段缓存主要是防止在某一时刻db压力剧增, 把db的瞬时访问量分散. 目前是单进程测试的, 如果是多进程测试, 你们想想会出现什么问题?
4.TODO 期望 后面我提供一个可视化的Id申请页面, 供大家使用. 谢谢