fix
This commit is contained in:
@@ -35,9 +35,9 @@ func (r *CachedBaseRepositoryImpl) isTableCacheEnabled() bool {
|
||||
if cache.GlobalCacheConfigManager != nil {
|
||||
return cache.GlobalCacheConfigManager.IsTableCacheEnabled(r.tableName)
|
||||
}
|
||||
|
||||
|
||||
// 如果全局管理器未初始化,默认启用缓存
|
||||
r.logger.Warn("全局缓存配置管理器未初始化,默认启用缓存",
|
||||
r.logger.Warn("全局缓存配置管理器未初始化,默认启用缓存",
|
||||
zap.String("table", r.tableName))
|
||||
return true
|
||||
}
|
||||
@@ -46,7 +46,7 @@ func (r *CachedBaseRepositoryImpl) isTableCacheEnabled() bool {
|
||||
func (r *CachedBaseRepositoryImpl) shouldUseCacheForTable() bool {
|
||||
// 检查表是否启用缓存
|
||||
if !r.isTableCacheEnabled() {
|
||||
r.logger.Debug("表未启用缓存,跳过缓存操作",
|
||||
r.logger.Debug("表未启用缓存,跳过缓存操作",
|
||||
zap.String("table", r.tableName))
|
||||
return false
|
||||
}
|
||||
@@ -58,17 +58,17 @@ func (r *CachedBaseRepositoryImpl) shouldUseCacheForTable() bool {
|
||||
// GetWithCache 带缓存的单条查询(智能决策)
|
||||
func (r *CachedBaseRepositoryImpl) GetWithCache(ctx context.Context, dest interface{}, ttl time.Duration, where string, args ...interface{}) error {
|
||||
db := r.GetDB(ctx)
|
||||
|
||||
|
||||
// 智能决策:根据表配置决定是否使用缓存
|
||||
if r.shouldUseCacheForTable() {
|
||||
db = db.Set("cache:enabled", true).Set("cache:ttl", ttl)
|
||||
r.logger.Debug("执行带缓存查询",
|
||||
r.logger.Debug("执行带缓存查询",
|
||||
zap.String("table", r.tableName),
|
||||
zap.Duration("ttl", ttl),
|
||||
zap.String("where", where))
|
||||
} else {
|
||||
db = db.Set("cache:disabled", true)
|
||||
r.logger.Debug("执行无缓存查询",
|
||||
r.logger.Debug("执行无缓存查询",
|
||||
zap.String("table", r.tableName),
|
||||
zap.String("where", where))
|
||||
}
|
||||
@@ -79,17 +79,17 @@ func (r *CachedBaseRepositoryImpl) GetWithCache(ctx context.Context, dest interf
|
||||
// FindWithCache 带缓存的多条查询(智能决策)
|
||||
func (r *CachedBaseRepositoryImpl) FindWithCache(ctx context.Context, dest interface{}, ttl time.Duration, where string, args ...interface{}) error {
|
||||
db := r.GetDB(ctx)
|
||||
|
||||
|
||||
// 智能决策:根据表配置决定是否使用缓存
|
||||
if r.shouldUseCacheForTable() {
|
||||
db = db.Set("cache:enabled", true).Set("cache:ttl", ttl)
|
||||
r.logger.Debug("执行带缓存批量查询",
|
||||
r.logger.Debug("执行带缓存批量查询",
|
||||
zap.String("table", r.tableName),
|
||||
zap.Duration("ttl", ttl),
|
||||
zap.String("where", where))
|
||||
} else {
|
||||
db = db.Set("cache:disabled", true)
|
||||
r.logger.Debug("执行无缓存批量查询",
|
||||
r.logger.Debug("执行无缓存批量查询",
|
||||
zap.String("table", r.tableName),
|
||||
zap.String("where", where))
|
||||
}
|
||||
@@ -100,17 +100,17 @@ func (r *CachedBaseRepositoryImpl) FindWithCache(ctx context.Context, dest inter
|
||||
// CountWithCache 带缓存的计数查询(智能决策)
|
||||
func (r *CachedBaseRepositoryImpl) CountWithCache(ctx context.Context, count *int64, ttl time.Duration, entity interface{}, where string, args ...interface{}) error {
|
||||
db := r.GetDB(ctx).Model(entity)
|
||||
|
||||
|
||||
// 智能决策:根据表配置决定是否使用缓存
|
||||
if r.shouldUseCacheForTable() {
|
||||
db = db.Set("cache:enabled", true).Set("cache:ttl", ttl)
|
||||
r.logger.Debug("执行带缓存计数查询",
|
||||
r.logger.Debug("执行带缓存计数查询",
|
||||
zap.String("table", r.tableName),
|
||||
zap.Duration("ttl", ttl),
|
||||
zap.String("where", where))
|
||||
} else {
|
||||
db = db.Set("cache:disabled", true)
|
||||
r.logger.Debug("执行无缓存计数查询",
|
||||
r.logger.Debug("执行无缓存计数查询",
|
||||
zap.String("table", r.tableName),
|
||||
zap.String("where", where))
|
||||
}
|
||||
@@ -121,16 +121,16 @@ func (r *CachedBaseRepositoryImpl) CountWithCache(ctx context.Context, count *in
|
||||
// ListWithCache 带缓存的列表查询(智能决策)
|
||||
func (r *CachedBaseRepositoryImpl) ListWithCache(ctx context.Context, dest interface{}, ttl time.Duration, options CacheListOptions) error {
|
||||
db := r.GetDB(ctx)
|
||||
|
||||
|
||||
// 智能决策:根据表配置决定是否使用缓存
|
||||
if r.shouldUseCacheForTable() {
|
||||
db = db.Set("cache:enabled", true).Set("cache:ttl", ttl)
|
||||
r.logger.Debug("执行带缓存列表查询",
|
||||
r.logger.Debug("执行带缓存列表查询",
|
||||
zap.String("table", r.tableName),
|
||||
zap.Duration("ttl", ttl))
|
||||
} else {
|
||||
db = db.Set("cache:disabled", true)
|
||||
r.logger.Debug("执行无缓存列表查询",
|
||||
r.logger.Debug("执行无缓存列表查询",
|
||||
zap.String("table", r.tableName))
|
||||
}
|
||||
|
||||
@@ -214,10 +214,10 @@ func (r *CachedBaseRepositoryImpl) WithLongCache() *CachedBaseRepositoryImpl {
|
||||
|
||||
// SmartGetByID 智能ID查询(自动缓存)
|
||||
func (r *CachedBaseRepositoryImpl) SmartGetByID(ctx context.Context, id string, dest interface{}) error {
|
||||
r.logger.Debug("执行智能ID查询",
|
||||
r.logger.Debug("执行智能ID查询",
|
||||
zap.String("table", r.tableName),
|
||||
zap.String("id", id))
|
||||
|
||||
|
||||
return r.GetWithCache(ctx, dest, 30*time.Minute, "id = ?", id)
|
||||
}
|
||||
|
||||
@@ -237,7 +237,7 @@ func (r *CachedBaseRepositoryImpl) SmartList(ctx context.Context, dest interface
|
||||
cacheTTL := r.calculateCacheTTL(options)
|
||||
useCache := r.shouldUseCache(options)
|
||||
|
||||
r.logger.Debug("执行智能列表查询",
|
||||
r.logger.Debug("执行智能列表查询",
|
||||
zap.String("table", r.tableName),
|
||||
zap.Bool("use_cache", useCache),
|
||||
zap.Duration("cache_ttl", cacheTTL))
|
||||
|
||||
Reference in New Issue
Block a user