refactor(db): 增强测试事务和缓存管理

- 在 HoTimeDB 中新增 testMu 互斥锁,确保 testTx 的串行访问,解决并发冲突问题
- 在 BeginTestTx 中初始化 testMu,确保测试事务的安全性
- 在 HoTimeCache 中新增 DisableDbCache 方法,测试模式下禁用 DB 和 Redis 缓存,避免锁等待超时
- 更新 Select 方法,确保在 testTx 激活时跳过缓存逻辑,提升测试稳定性
- 优化 Swagger 生成逻辑,支持模块化输出和导航页生成
- 移除冗余的调试日志代码,提升代码整洁性
This commit is contained in:
2026-03-14 13:06:32 +08:00
parent 93596ad0dc
commit 3feaa69fe4
9 changed files with 254 additions and 205 deletions
+3 -1
View File
@@ -32,7 +32,8 @@ type HoTimeDB struct {
mu sync.RWMutex
limitMu sync.Mutex
Dialect Dialect // 数据库方言适配器
testTx *sql.Tx // 测试事务:设置后所有操作都在此事务内,测试结束回滚
testTx *sql.Tx // 测试事务:设置后所有操作都在此事务内,测试结束回滚
testMu *sync.Mutex // 保护 testTx 单连接不被并发访问
}
// SetConnect 设置数据库配置连接
@@ -154,6 +155,7 @@ func (that *HoTimeDB) BeginTestTx() error {
return err
}
that.testTx = tx
that.testMu = &sync.Mutex{}
return nil
}