refactor(redis): strengthen shared cache invalidation

This commit is contained in:
3252a8
2026-05-21 06:26:48 +03:00
parent 3405d12696
commit 044cb4de7e
10 changed files with 237 additions and 61 deletions
+17
View File
@@ -83,3 +83,20 @@ class AsyncTTLCache:
self._data.clear()
return
self._data.pop(key, None)
async def invalidate_remote(self, key: Optional[str] = None) -> None:
self.invalidate(key)
if self.settings is None or not self.namespace:
return
try:
from bot.infra.redis import cache_delete, cache_delete_pattern, redis_key
if key is None:
pattern = redis_key(self.settings, "cache", self.namespace, "*")
await cache_delete_pattern(self.settings, pattern)
return
await cache_delete(
self.settings, redis_key(self.settings, "cache", self.namespace, key)
)
except Exception:
return