fix(user): don't invalidate user cache when user is connecting to spectator-server

resolve the sixth of #90
This commit is contained in:
MingxuanGame
2025-12-06 21:28:39 +08:00
parent 36f5bd2ab3
commit a62ef049ff
5 changed files with 70 additions and 10 deletions

View File

@@ -244,7 +244,7 @@ class UserCacheService:
"""使用户缓存失效"""
try:
# 删除用户信息缓存
pattern = f"user:{user_id}*"
pattern = f"user:{user_id}:ruleset:*"
keys = await self.redis.keys(pattern)
if keys:
await self.redis.delete(*keys)
@@ -252,6 +252,18 @@ class UserCacheService:
except Exception as e:
logger.error(f"Error invalidating user cache: {e}")
async def invalidate_user_all_cache(self, user_id: int):
"""使用户所有缓存失效"""
try:
# 删除用户信息缓存
pattern = f"user:{user_id}*"
keys = await self.redis.keys(pattern)
if keys:
await self.redis.delete(*keys)
logger.info(f"Invalidated {len(keys)} all cache entries for user {user_id}")
except Exception as e:
logger.error(f"Error invalidating user all cache: {e}")
async def invalidate_user_scores_cache(self, user_id: int, mode: GameMode | None = None):
"""使用户成绩缓存失效"""
try: