perf: replace Redis KEYS with SCAN for cache invalidation (#98) #101

Merged
cal merged 1 commits from ai/major-domo-v2-98 into next-release 2026-03-20 15:26:43 +00:00

View File

@ -188,9 +188,11 @@ class CacheManager:
try:
pattern = f"{prefix}:*"
keys = await client.keys(pattern)
if keys:
deleted = await client.delete(*keys)
keys_to_delete = []
async for key in client.scan_iter(match=pattern):
keys_to_delete.append(key)
if keys_to_delete:
deleted = await client.delete(*keys_to_delete)
logger.info(f"Cleared {deleted} cache keys with prefix '{prefix}'")
return deleted
except Exception as e: