feat(redis): refactor Redis configuration to use multiple logical databases

- Updated default REDIS_URL to remove explicit /0 suffix
- Added dedicated Redis clients:
  - db0: general cache (redis_client)
  - db1: message cache (redis_message_client)
  - db2: binary storage (redis_binary_client)
  - db3: rate limiting (redis_rate_limit_client)
- Updated configuration, Docker files, and main startup lifecycle accordingly
- Replaced `get_redis()` usage in notification server with `redis_message_client`
This commit is contained in:
MingxuanGame
2025-10-04 05:39:59 +00:00
parent c2bfafc67a
commit 216d3ab3bf
7 changed files with 53 additions and 27 deletions

View File

@@ -35,13 +35,16 @@ engine = create_async_engine(
)
# Redis 连接
redis_client = redis.from_url(settings.redis_url, decode_responses=True)
# Redis 二进制数据连接 (不自动解码响应,用于存储音频等二进制数据)
redis_binary_client = redis.from_url(settings.redis_url, decode_responses=False)
redis_client = redis.from_url(settings.redis_url, decode_responses=True, db=0)
# Redis 消息缓存连接 (db1)
redis_message_client: redis.Redis = redis.from_url(settings.redis_url, decode_responses=True, db=1)
redis_message_client = redis.from_url(settings.redis_url, decode_responses=True, db=1)
# Redis 二进制数据连接 (不自动解码响应用于存储音频等二进制数据db2)
redis_binary_client = redis.from_url(settings.redis_url, decode_responses=False, db=2)
# Redis 限流连接 (db3)
redis_rate_limit_client = redis.from_url(settings.redis_url, decode_responses=True, db=3)
# 数据库依赖