feat: 升级 cached_user.go 日志为 trace-aware

替换 logger.Log 为 trace.FromContext(ctx):
- SaveRefreshToken: Redis 缓存写入失败降级日志
- FindRefreshToken: Redis 缓存读取失败降级日志
- DeleteRefreshToken: Redis 缓存删除失败降级日志
- DeleteUserRefreshTokens: Redis 批量删除失败降级日志
This commit is contained in:
hhs
2026-06-21 23:07:49 +08:00
parent 1c7dd708a0
commit 9dce107a84

View File

@@ -6,7 +6,7 @@ import (
"github.com/redis/go-redis/v9" "github.com/redis/go-redis/v9"
"github.com/hhs/camtalk/internal/logger" "github.com/hhs/camtalk/internal/trace"
) )
// Redis key 前缀。 // Redis key 前缀。
@@ -83,7 +83,8 @@ func (r *CachedUserRepository) SaveRefreshToken(ctx context.Context, userID, tok
pipe.Set(ctx, key, userID, ttl) pipe.Set(ctx, key, userID, ttl)
pipe.SAdd(ctx, userRefreshKey(userID), tokenHash) pipe.SAdd(ctx, userRefreshKey(userID), tokenHash)
if _, err := pipe.Exec(ctx); err != nil { if _, err := pipe.Exec(ctx); err != nil {
logger.Log.Warnw("Redis cache write failed for refresh token", "error", err) log := trace.FromContext(ctx)
log.Warnw("redis cache write failed for refresh token", "error", err)
// 降级DB 已写入成功Redis 失败不影响正确性 // 降级DB 已写入成功Redis 失败不影响正确性
} }
return nil return nil
@@ -100,7 +101,8 @@ func (r *CachedUserRepository) FindRefreshToken(ctx context.Context, tokenHash s
} }
// redis.Nil 表示 key 不存在,其他错误记录日志后降级到 DB // redis.Nil 表示 key 不存在,其他错误记录日志后降级到 DB
if err != redis.Nil { if err != redis.Nil {
logger.Log.Warnw("Redis cache read failed for refresh token", "error", err) log := trace.FromContext(ctx)
log.Warnw("redis cache read failed for refresh token", "error", err)
} }
// 降级到 DB // 降级到 DB
@@ -139,7 +141,8 @@ func (r *CachedUserRepository) DeleteRefreshToken(ctx context.Context, tokenHash
pipe.SRem(ctx, userRefreshKey(userID), tokenHash) pipe.SRem(ctx, userRefreshKey(userID), tokenHash)
} }
if _, err := pipe.Exec(ctx); err != nil { if _, err := pipe.Exec(ctx); err != nil {
logger.Log.Warnw("Redis cache delete failed for refresh token", "error", err) log := trace.FromContext(ctx)
log.Warnw("redis cache delete failed for refresh token", "error", err)
} }
return nil return nil
} }
@@ -159,7 +162,8 @@ func (r *CachedUserRepository) DeleteUserRefreshTokens(ctx context.Context, user
} }
keys = append(keys, userKey) keys = append(keys, userKey)
if err := r.rdb.Del(ctx, keys...).Err(); err != nil { if err := r.rdb.Del(ctx, keys...).Err(); err != nil {
logger.Log.Warnw("Redis cache batch delete failed for user refresh tokens", "error", err, "userID", userID) log := trace.FromContext(ctx)
log.Warnw("redis cache batch delete failed for user refresh tokens", "error", err, "user_id", userID)
} }
} }