Optimization

This commit is contained in:
2026-02-20 15:59:19 +00:00
parent ade4689ab7
commit 383efed319
12 changed files with 168 additions and 78 deletions

View File

@@ -104,12 +104,12 @@ class RedisService:
phone_key = self._phone_to_session_key(session.telefono)
try:
# Save session data
# Save session data and phone mapping in a single pipeline
data = session.model_dump_json(by_alias=False)
await self.redis.setex(key, self.session_ttl, data)
# Save phone-to-session mapping
await self.redis.setex(phone_key, self.session_ttl, session.session_id)
async with self.redis.pipeline(transaction=False) as pipe:
pipe.setex(key, self.session_ttl, data)
pipe.setex(phone_key, self.session_ttl, session.session_id)
await pipe.execute()
logger.debug(
"Saved session to Redis: %s for phone: %s",
@@ -384,8 +384,10 @@ class RedisService:
try:
logger.info("Deleting notification session for phone %s", phone_number)
await self.redis.delete(notification_key)
await self.redis.delete(phone_key)
async with self.redis.pipeline(transaction=False) as pipe:
pipe.delete(notification_key)
pipe.delete(phone_key)
await pipe.execute()
except Exception:
logger.exception(
"Error deleting notification session for phone %s:",