litellm/litellm-rust/crates/cache
Yujong Lee 9b747bf337 feat(caching): give RedisCache a pub/sub and lease surface and drop raw client reaches
Add async_publish and async_subscribe to the Python RedisCache, returning a
RedisSubscription that yields RedisMessage values and skips redis-py's
subscribe acks, plus connection_pool_status for the debug endpoint. Cluster
clients raise NotImplementedError, matching the existing skip behaviour.

Move the config sync and auth cache invalidation modules onto that surface
and rewrite the MCP refresh lock onto async_register_script, so no proxy code
reaches into init_async_client or redis_client any more. This defines the
surface a native RedisCache has to match.

On the Rust side add the PubSubCache and MessageStream capability traits and
implement them in cache-redis with a dedicated subscription connection driven
by a reader thread, tested against an in-process RESP server over a real
socket.
2026-09-24 09:19:14 -07:00
..
src feat(caching): give RedisCache a pub/sub and lease surface and drop raw client reaches 2026-09-24 09:19:14 -07:00
tests refactor(rust): align the cache crates with Python and wire every native backend (#42530) 2026-09-22 13:13:02 -07:00
Cargo.toml refactor(rust): align the cache crates with Python and wire every native backend (#42530) 2026-09-22 13:13:02 -07:00