AI: 更新文档索引至 v1.0.3
This commit is contained in:
parent
65d76904a3
commit
f7b7402911
18
AI.md
18
AI.md
@ -9,15 +9,19 @@
|
|||||||
3. **无错误处理倾向**:理解 `IdMaker` 采用防御性设计,不会产生 Panic 或 Error,调用时无需错误检查。
|
3. **无错误处理倾向**:理解 `IdMaker` 采用防御性设计,不会产生 Panic 或 Error,调用时无需错误检查。
|
||||||
4. **按需指定长度**:调用时明确传入 `size`,根据业务对并发吞吐量的需求(8-11位,后续长度随机填充)进行决策。
|
4. **按需指定长度**:调用时明确传入 `size`,根据业务对并发吞吐量的需求(8-11位,后续长度随机填充)进行决策。
|
||||||
|
|
||||||
## 🛠 关键 API 逻辑约定
|
## 🛠 API Reference
|
||||||
|
|
||||||
| 函数 | 场景 | 核心特征 |
|
### 核心生成器
|
||||||
| :--- | :--- | :--- |
|
- `func NewIdMaker(incr func(sec uint64) uint64) *IdMaker`:创建自定义步长的 ID 生成器。
|
||||||
| `MakeId/Get` | 通用生成 | 全局默认实例生成。 |
|
- `var DefaultIdMaker`:默认全局 ID 生成器(单机模式)。
|
||||||
| `GetForMysql` | MySQL PK | 自动右旋散列,解决 B+ 树写入热点。 |
|
|
||||||
| `GetForPostgreSQL`| PostgreSQL PK| 具备时间局部单调性,无右旋散列。 |
|
|
||||||
|
|
||||||
## 快速开始
|
### 格式化生成 (推荐作为 PK)
|
||||||
|
- `func MakeId(size int) string`:默认实例生成随机唯一ID。
|
||||||
|
- `func (im *IdMaker) Get(size int) string`:生成随机唯一ID。
|
||||||
|
- `func (im *IdMaker) GetForMysql(size int) string`:MySQL 优化版,自动右旋散列,解决写入热点。
|
||||||
|
- `func (im *IdMaker) GetForPostgreSQL(size int) string`:PostgreSQL 优化版,保持时间单调。
|
||||||
|
|
||||||
|
## 🧩 典型模式 (Best Practices)
|
||||||
|
|
||||||
* **✅ 示例**:
|
* **✅ 示例**:
|
||||||
```go
|
```go
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user