diff --git a/CHANGELOG.md b/CHANGELOG.md index dde3c1b..02d4636 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # CHANGELOG - redis +## v1.0.8 (2026-05-10) +- **API 对齐**: + - `NewIDMaker` 返回值从 `*IDMaker` 修改为 `*id.IDMaker`,保持全局接口统一。 + - 移除了 `redis.IDMaker` 冗余的包装方法,直接使用 `id.IDMaker` 的实现。 + ## v1.0.7 (2026-05-09) - **基础设施对齐**: - 升级 `apigo.cc/go/log` 至 `v1.1.13`。 diff --git a/README.md b/README.md index c2b2808..5a92fbf 100644 --- a/README.md +++ b/README.md @@ -32,9 +32,7 @@ - `Stop()`: 停止所有订阅。 ### 分布式 ID (IDMaker) -- `NewIDMaker(rd *Redis) *IDMaker`: 创建分布式 ID 生成器。 -- `Get(size int)`: 获取指定长度的唯一 ID。 -- `GetForMysql(size int)`: 获取针对 MySQL 优化的唯一 ID。 +- `NewIDMaker(rd *Redis) *id.IDMaker`: 创建基于 Redis 的分布式 ID 生成器。 ## 示例 diff --git a/go.sum b/go.sum index 67b6a98..b90fc8f 100644 --- a/go.sum +++ b/go.sum @@ -2,6 +2,7 @@ apigo.cc/go/cast v1.2.8 h1:plb676DH2TjYljzf8OEMGT6lIhmZ/xaxEFfs0kDOiSI= apigo.cc/go/cast v1.2.8/go.mod h1:lGlwImiOvHxG7buyMWhFzcdvQzmSaoKbmr7bcDfUpHk= apigo.cc/go/config v1.0.6 h1:32nOCr+8AkGFnKuythCjHPOjxilg6SOlSWXKTkNtx6I= apigo.cc/go/config v1.0.6/go.mod h1:nX+nLKZTP6Xton9Gt/9XsTh0d1sQ+Qkwysgyjq/k4R0= +apigo.cc/go/crypto v1.0.5 h1:uJyO9X5O9OAnGGy37fuxdC18uZkOB1PyOYSFZiaDY5Q= apigo.cc/go/crypto v1.0.5/go.mod h1:c7a7sY2Yv9/531WS72L3tmB7OqdY3IUWIS1Jhv0Pfgc= apigo.cc/go/encoding v1.0.5 h1:a2XbXyd8D2gKo1ekXn/pt5adltWbIfdJCMhaF2uvzF0= apigo.cc/go/encoding v1.0.5/go.mod h1:V5CgT7rBbCxy+uCU20q0ptcNNRSgMtpA8cNOs6r8IeI= diff --git a/id.go b/id.go index 9c6e8de..7aabfab 100644 --- a/id.go +++ b/id.go @@ -7,22 +7,20 @@ import ( "apigo.cc/go/id" ) -type IDMaker struct { +type idMaker struct { rd *Redis secCurrent uint64 secIndexMax uint64 secIndexNext uint64 lock sync.Mutex - maker *id.IDMaker } -func NewIDMaker(rd *Redis) *IDMaker { - im := &IDMaker{rd: rd} - im.maker = id.NewIDMaker(im.makeSecIndex) - return im +func NewIDMaker(rd *Redis) *id.IDMaker { + im := &idMaker{rd: rd} + return id.NewIDMaker(im.makeSecIndex) } -func (im *IDMaker) makeSecIndex(sec uint64) uint64 { +func (im *idMaker) makeSecIndex(sec uint64) uint64 { im.lock.Lock() defer im.lock.Unlock() @@ -48,15 +46,3 @@ func (im *IDMaker) makeSecIndex(sec uint64) uint64 { } return idx } - -func (im *IDMaker) Get(size int) string { - return im.maker.Get(size) -} - -func (im *IDMaker) GetForMysql(size int) string { - return im.maker.GetForMysql(size) -} - -func (im *IDMaker) GetForPostgreSQL(size int) string { - return im.maker.GetForPostgreSQL(size) -}