package cache import ( "context" "fmt" "log" ) // CleanupManager 缓存清理管理器 type CleanupManager struct { cache Cache } // NewCleanupManager 创建清理管理器 func NewCleanupManager(cache Cache) *CleanupManager { return &CleanupManager{ cache: cache, } } // ClearAll 清空所有缓存 func (m *CleanupManager) ClearAll(ctx context.Context) error { if err := m.cache.Clear(ctx); err != nil { return fmt.Errorf("清空缓存失败: %w", err) } log.Println("缓存已清空") return nil } // ClearByLanguage 清空指定语言对的缓存 func (m *CleanupManager) ClearByLanguage(ctx context.Context, fromLang, toLang string) error { // 这个功能需要在SQLite实现中添加查询功能 // 目前先返回一个提示信息 return fmt.Errorf("按语言清理功能尚未实现") } // GetStats 获取缓存统计信息 func (m *CleanupManager) GetStats(ctx context.Context) (*CacheStats, error) { stats, err := m.cache.Stats(ctx) if err != nil { return nil, fmt.Errorf("获取缓存统计失败: %w", err) } return stats, nil } // CleanupManual 手动清理 func (m *CleanupManager) CleanupManual(ctx context.Context) error { if err := m.cache.Cleanup(ctx); err != nil { return fmt.Errorf("手动清理失败: %w", err) } log.Println("缓存清理完成") return nil }