From 9dce107a840936a7f8c9cff186c4cce7e3731d87 Mon Sep 17 00:00:00 2001 From: hhs <386998068@qq.com> Date: Sun, 21 Jun 2026 23:07:49 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=8D=87=E7=BA=A7=20cached=5Fuser.go?= =?UTF-8?q?=20=E6=97=A5=E5=BF=97=E4=B8=BA=20trace-aware?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 替换 logger.Log 为 trace.FromContext(ctx): - SaveRefreshToken: Redis 缓存写入失败降级日志 - FindRefreshToken: Redis 缓存读取失败降级日志 - DeleteRefreshToken: Redis 缓存删除失败降级日志 - DeleteUserRefreshTokens: Redis 批量删除失败降级日志 --- backend/internal/store/cached_user.go | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/backend/internal/store/cached_user.go b/backend/internal/store/cached_user.go index dfc2e9e..43d2f58 100644 --- a/backend/internal/store/cached_user.go +++ b/backend/internal/store/cached_user.go @@ -6,7 +6,7 @@ import ( "github.com/redis/go-redis/v9" - "github.com/hhs/camtalk/internal/logger" + "github.com/hhs/camtalk/internal/trace" ) // Redis key 前缀。 @@ -83,7 +83,8 @@ func (r *CachedUserRepository) SaveRefreshToken(ctx context.Context, userID, tok pipe.Set(ctx, key, userID, ttl) pipe.SAdd(ctx, userRefreshKey(userID), tokenHash) 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 失败不影响正确性 } return nil @@ -100,7 +101,8 @@ func (r *CachedUserRepository) FindRefreshToken(ctx context.Context, tokenHash s } // redis.Nil 表示 key 不存在,其他错误记录日志后降级到 DB 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 @@ -139,7 +141,8 @@ func (r *CachedUserRepository) DeleteRefreshToken(ctx context.Context, tokenHash pipe.SRem(ctx, userRefreshKey(userID), tokenHash) } 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 } @@ -159,7 +162,8 @@ func (r *CachedUserRepository) DeleteUserRefreshTokens(ctx context.Context, user } keys = append(keys, userKey) 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) } }