1
0
mirror of synced 2026-02-27 15:27:55 +08:00
Files
SnowFlake-IdGenerator/README.md
zhouzj 55ef6980e7 edit
2021-03-11 17:54:28 +08:00

55 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# idgenerator
#### 介绍
用一种全新的雪花漂移算法让ID更短、生成速度更快。
核心在于缩短ID长度的同时还能保持每毫秒并发处理量50W/0.1s),且能保持伸缩能力。
支持QQ群646049993
#### 功能说明:
1.ID更短是传统算法的几倍用50年都不会超过jsNumber的最大值。默认配置WorkerId是6bit自增数是6bit
2.生成速度更快0.1秒可生成50万个。i7笔记本默认算法配置6bit+6bit
3.支持时间回拨处理。
4.支持手工插入新ID。
5.漂移时对外异步发通知事件。
6.不依赖任何外部缓存和数据库。
7.目前是C#版很快会出java、php等版本。
#### 文件说明:
1.SnowWorkerM1.cs 是雪花漂移算法。
2.SnowWorkerM2.cs 是传统雪花算法。
#### 效果:
1.js Number 类型最大数值9007199254740992本算法在保持并发性能5W+/0.01s和最大64个WorkerId6bit的同时能用70年才到 js Number Max 值。
2.增加WorkerId位数到8bit128节点15年达到 js Number Max 值。
3.极致性能500W/1s。
4.以上测试数据均基于8代i7计算。
#### 试用范围:
1.小型、中型、大型需要全局唯一Id不用Guid的项目。
2.分布式项目。
3.不想将Long型转String给前端用的项目。如果前端支持bigint则不用考虑此项