feat: add cache_salt dimension to LLM response cache
This commit is contained in:
@@ -109,6 +109,18 @@ async def test_different_models_different_keys(
|
||||
assert await cache.get("claude-3-opus", MESSAGES) is None
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_salt_changes_key(fake_redis: object) -> None:
|
||||
"""cache_salt 进入键:不同 salt 产生不同键,None 保持旧键结构。"""
|
||||
cache = RedisResponseCache(redis=fake_redis, ttl_s=None)
|
||||
k_none = cache._build_key("m", [{"role": "user", "content": "x"}], None)
|
||||
k_e1 = cache._build_key("m", [{"role": "user", "content": "x"}], "run:e1")
|
||||
k_e2 = cache._build_key("m", [{"role": "user", "content": "x"}], "run:e2")
|
||||
assert k_none != k_e1
|
||||
assert k_none != k_e2
|
||||
assert k_e1 != k_e2
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_graceful_degradation_on_error() -> None:
|
||||
"""Redis 不可用时静默降级:get→None,set→不报错。"""
|
||||
|
||||
Reference in New Issue
Block a user