feat(cache): 添加复合键缓存操作支持

添加了基于 uint32+string 组合键的缓存操作方法,包括
GetByCompoundKey、SetByCompoundKey、DelByCompoundKey 和
ContainsByCompoundKey 方法,用于处理用户ID和会话ID的组合缓存场景

fix(vscode): 添加 cSpell 配置支持 struc 词汇

refactor(session): 移除过时的会话管理方法

移除了基于单一字符串键的会话管理方法,因为已迁移到使用
复合键的缓存操作方式
```
This commit is contained in:
昔念
2026-01-19 18:51:56 +08:00
parent 08ebf849eb
commit 026689f3ed
120 changed files with 1428 additions and 629 deletions

View File

@@ -68,28 +68,15 @@ func (m *UnifiedTowerModel) GroupName() string {
// Boss 根据塔等级获取对应的Boss配置统一入口
func (s *TowerService) Boss(towerLevel uint32) *model.BaseTowerConfig {
// 构建基础查询条件
query := cool.DBM(s.Model).Where("tower_level = ?", towerLevel)
query := cool.DBM(s.Model).Where("tower_level = ?", towerLevel).Where("is_enabled", 1)
// 根据塔类型处理不同的缓存逻辑
switch s.towerType {
case TowerType110, TowerType500:
// 110塔和500塔使用普通查询
var config model.BaseTowerConfig
query.Scan(&config)
return &config
case TowerType600:
// 600塔专属的缓存配置
var config model.BaseTowerConfig
query.Cache(gdb.CacheOption{
// Duration: time.Hour, // 可根据需要开启缓存时长
Force: false,
}).Scan(&config)
return &config
default:
return nil // 非支持类型返回nil也可根据业务需求调整
}
// 600塔专属的缓存配置
var config model.BaseTowerConfig
query.Cache(gdb.CacheOption{
// Duration: time.Hour, // 可根据需要开启缓存时长
Force: false,
}).Scan(&config)
return &config
}
// 兼容原有调用方式的快捷构造函数(可选,保证代码平滑迁移)
@@ -103,4 +90,4 @@ func NewTower500Service() *TowerService {
func NewTower600Service() *TowerService {
return NewTowerService(TowerType600)
}
}