fix: reject REDIS_CACHE_TTL<=0 (kill implicit never-expire)
This commit is contained in:
@@ -248,13 +248,15 @@ def _build_redis_cache(settings: Any) -> Any | None:
|
||||
"""按 .env redis_url 构建响应缓存(不可用则降级 None,与 main 一致)。"""
|
||||
if not settings.redis_url:
|
||||
return None
|
||||
|
||||
from adapters.redis_cache import RedisResponseCache, _resolve_cache_ttl
|
||||
|
||||
# 配置校验 fail-loud(不属于 Redis 连接故障,不得被下方降级 except 吞掉)
|
||||
ttl_s = _resolve_cache_ttl(settings.redis_cache_ttl)
|
||||
try:
|
||||
import redis.asyncio as aioredis
|
||||
|
||||
from adapters.redis_cache import RedisResponseCache
|
||||
|
||||
redis_client = aioredis.from_url(settings.redis_url, decode_responses=True)
|
||||
ttl_s = settings.redis_cache_ttl if settings.redis_cache_ttl > 0 else None
|
||||
return RedisResponseCache(redis=redis_client, ttl_s=ttl_s)
|
||||
except Exception:
|
||||
logger.warning("Redis 缓存不可用,诊断降级为无缓存模式")
|
||||
|
||||
Reference in New Issue
Block a user