redis/CHANGELOG.md

28 lines
1.6 KiB
Markdown
Raw Normal View History

# CHANGELOG - redis
## v1.0.1 (2026-05-03)
- **Security & Stability**:
- 修复了 `Pub/Sub` 模块中 `subs` map 和 `subConn` 的并发访问竞争风险Race Condition引入 `subLock` 互斥锁。
- **Cleanup**:
- 移除了 `Redis` 结构体中冗余的 `ReadTimeout` 字段,统一由 `Config` 管理。
- **Testing & CI/CD**:
- 新增 `TestMain` 自动环境检查,若 Redis 不可用则优雅跳过测试,不中断 CI 流程。
- 新增 `TestIdMaker` 覆盖分布式 ID 生成逻辑。
- 新增 `bench_test.go`,建立性能基准测试。
- 新增 `TEST.md` 记录测试覆盖场景与 Benchmark 结果。
## v1.0.0 (2026-05-03)
- **Repo Migration**: 从 `@ssgo/redis` 迁移至 `apigo.cc/go/redis`
- **Standard Realignment**:
- 依赖全面切换至 `apigo.cc/go/*` 标准库。
- 适配 Go 1.25.0。
- **Feature Enhancements**:
- **Generics**: 为 `Result` 引入泛型 `To[T]` 支持,消除类型断言摩擦。
- **Memory Safety**: 集成 `go/safe` 对 Redis 密码进行实时加解密与内存锁定,防止内存泄漏敏感信息。
- **Auto-Serialization**: 优化了 `Do` 方法,支持对 Struct/Map/Slice 自动进行 JSON 序列化(优先支持 Marshaler 接口)。
- **Distributed ID**: 深度集成 `go/id` 核心,提供更高性能的 Redis 序列号预取机制。
- **Refactoring**:
- 移除了冗余的 `interface{}`,全面改用 `any`
- 规范化了 API 命名,统一使用 `GetUpperName` 进行 Struct 字段映射。
- 增强了连接重试机制,支持对网络波动和服务器重启的自动恢复。