@@ -8,21 +8,25 @@ | |||
<PackageReference Include="Yitter.IdGenerator" Version="1.0.*" /> | |||
``` | |||
## 调用示例 | |||
## 调用示例(C#) | |||
调用过程分为2步,第1步是全局初始化(应用程序启动时执行一次),第2步是生成ID,代码如下: | |||
``` | |||
// 全局初始化设置WorkerId,默认最大2^16-1。(初始化过程全局只需一次,且必须最先设置) | |||
var options = new IdGeneratorOptions(){ WorkerId = 1}; | |||
// 第1步:创建 IdGeneratorOptions 对象,构造函数输入 WorkerId: | |||
var options = new IdGeneratorOptions(1); | |||
// options.WorkerIdBitLength = 10; // WorkerIdBitLength 默认值6,支持的 WorkerId 最大值为2^6-1,若 WorkerId 超过64,可设置更大的 WorkerIdBitLength | |||
// ...... 其它参数设置参考 IdGeneratorOptions 定义,一般来说,只要再设置 WorkerIdBitLength (决定 WorkerId 的最大值)。 | |||
// 保存参数(必须的操作,否则以上设置都不能生效): | |||
YitIdHelper.SetIdGenerator(options); | |||
// 以上初始化过程只需全局一次,且必须在第2步之前设置。 | |||
// 初始化以后,就可以在需要的地方调用方法生成ID。 | |||
// 第2步:初始化以后,即可在任何需要生成ID的地方,调用以下方法: | |||
var newId = YitIdHelper.NextId(); | |||
``` | |||
如果基于DI框架集成,可以参考 YitIdHelper 去管理 IdGenerator 对象,必须使用**单例**模式。 | |||
## options 默认值及说明 | |||
如果基于DI框架集成,可以参考 YitIdHelper 去管理 IdGenerator 对象,必须使用**单例**模式。 | |||
参考源码:/Contract/IdGeneratorOptions.cs | |||
## 事件说明 | |||
@@ -1,4 +1,4 @@ | |||
# ❄️ idenerator-go | |||
# ❄ idenerator-go | |||
## 介绍 | |||
项目更多介绍参照:https://github.com/yitter/idgenerator | |||
@@ -8,35 +8,33 @@ | |||
1.SDK,go1.14 | |||
2.启用 Go-Modules | |||
``` | |||
go env -w GO111MODULE=on | |||
# Next *ONLY* for China-Users: | |||
go env -w GOPROXY=https://goproxy.cn,https://goproxy.io,direct | |||
``` | |||
3. 安装方式 | |||
``` | |||
go get -u -v github.com/yitter/idgenerator-go | |||
``` | |||
## Go代码示例 | |||
``` | |||
## 调用示例(Go) | |||
// 定义参数 | |||
var options = idgen.NewIdGeneratorOptions(1) // 构造函数输入 WorkerId | |||
// options.WorkerId = 1 | |||
// options.WorkerIdBitLength = 6 | |||
// options.SeqBitLength = 6 | |||
// ... 以上参数一般不需要设置,系统有默认值 | |||
idgen.SetIdGenerator(options) | |||
调用过程分为2步,第1步是全局初始化(应用程序启动时执行一次),第2步是生成ID,代码如下: | |||
// 调用方法生成Id | |||
var id = idgen.NextId() | |||
``` | |||
// 第1步:创建 IdGeneratorOptions 对象,构造函数输入 WorkerId: | |||
var options = idgen.NewIdGeneratorOptions(1) | |||
// options.WorkerIdBitLength = 10; // WorkerIdBitLength 默认值6,支持的 WorkerId 最大值为2^6-1,若 WorkerId 超过64,可设置更大的 WorkerIdBitLength | |||
// ...... 其它参数设置参考 IdGeneratorOptions 定义,一般来说,只要再设置 WorkerIdBitLength (决定 WorkerId 的最大值)。 | |||
// 保存参数(必须的操作,否则以上设置都不能生效): | |||
idgen.SetIdGenerator(options) | |||
// 以上初始化过程只需全局一次,且必须在第2步之前设置。 | |||
// 第2步:初始化以后,即可在任何需要生成ID的地方,调用以下方法: | |||
var newId = idgen.NextId() | |||
``` | |||
## 代码贡献者(按时间顺序) | |||
@@ -12,23 +12,23 @@ JDK 1.8+ | |||
</dependency> | |||
``` | |||
## 调用示例 | |||
## 调用示例(Java) | |||
调用过程分为2步,第1步是全局初始化(应用程序启动时执行一次),第2步是生成ID,代码如下: | |||
``` | |||
// 全局初始化设置WorkerId,默认最大2^16-1,可通过调整 WorkerIdBitLength 增加最大值 | |||
IdGeneratorOptions options = new IdGeneratorOptions(); | |||
options.WorkerId = 1; | |||
// 第1步:创建 IdGeneratorOptions 对象,构造函数输入 WorkerId: | |||
IdGeneratorOptions options = new IdGeneratorOptions(1); | |||
// options.WorkerIdBitLength = 10; // WorkerIdBitLength 默认值6,支持的 WorkerId 最大值为2^6-1,若 WorkerId 超过64,可设置更大的 WorkerIdBitLength | |||
// ...... 其它参数设置参考 IdGeneratorOptions 定义,一般来说,只要再设置 WorkerIdBitLength (决定 WorkerId 的最大值)。 | |||
// 保存参数(必须的操作,否则以上设置都不能生效): | |||
YitIdHelper.setIdGenerator(options); | |||
// 以上初始化过程全局只需一次,且必须最先设置 | |||
// 以上初始化过程只需全局一次,且必须在第2步之前设置。 | |||
// 初始化以后,即可在需要生成ID的地方,调用以下方法。 | |||
// 第2步:初始化以后,即可在任何需要生成ID的地方,调用以下方法: | |||
long newId = YitIdHelper.nextId(); | |||
``` | |||
如果基于DI框架集成,可以参考 YitIdHelper 去管理 IdGenerator 对象,须使用**单例**模式。 | |||
如果基于DI框架集成,可以参考 YitIdHelper 去管理 IdGenerator 对象,须使用**单例**模式。 | |||
## options 默认值及说明 | |||
参考源码:/contract/IdGeneratorOptions.java | |||