File size: 1,394 Bytes
bef5e76 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | """One-shot script to delete a specific chat cache key from Redis.
Usage:
uv run python playground_flush_cache.py
"""
import asyncio
from src.db.redis.connection import get_redis
from src.config.settings import settings
# ββββββββββββββββββββββββββββββββββββββββββββββ
# CONFIG
# ββββββββββββββββββββββββββββββββββββββββββββββ
USER_ID = "8b6c18fd-8971-46e5-b106-35b7afb412e0"
MESSAGE = "Berapa digital rate card untuk whatsapp?"
# Set to True to wipe ALL chat cache keys for the user instead
FLUSH_ALL_USER_CHAT = False
# ββββββββββββββββββββββββββββββββββββββββββββββ
async def main():
redis = await get_redis()
prefix = f"{settings.redis_prefix}chat:{USER_ID}:"
if FLUSH_ALL_USER_CHAT:
keys = await redis.keys(f"{prefix}*")
if keys:
await redis.delete(*keys)
print(f"Deleted {len(keys)} key(s) matching {prefix}*")
else:
print("No keys found.")
else:
key = f"{prefix}{MESSAGE}"
deleted = await redis.delete(key)
print(f"Deleted {deleted} key: {key!r}")
if __name__ == "__main__":
asyncio.run(main())
|