fix(redis.py): fix instantiating redis client from url

This commit is contained in:
Krrish Dholakia 2024-02-15 17:48:00 -08:00
parent 292a8321b6
commit fe9180a39d
2 changed files with 10 additions and 2 deletions

View file

@ -98,6 +98,9 @@ def _get_redis_client_logic(**env_overrides):
def get_redis_client(**env_overrides): def get_redis_client(**env_overrides):
redis_kwargs = _get_redis_client_logic(**env_overrides) redis_kwargs = _get_redis_client_logic(**env_overrides)
if "url" in redis_kwargs and redis_kwargs["url"] is not None: if "url" in redis_kwargs and redis_kwargs["url"] is not None:
redis_kwargs.pop(
"connection_pool", None
) # redis.from_url doesn't support setting your own connection pool
return redis.Redis.from_url(**redis_kwargs) return redis.Redis.from_url(**redis_kwargs)
return redis.Redis(**redis_kwargs) return redis.Redis(**redis_kwargs)
@ -105,6 +108,9 @@ def get_redis_client(**env_overrides):
def get_redis_async_client(**env_overrides): def get_redis_async_client(**env_overrides):
redis_kwargs = _get_redis_client_logic(**env_overrides) redis_kwargs = _get_redis_client_logic(**env_overrides)
if "url" in redis_kwargs and redis_kwargs["url"] is not None: if "url" in redis_kwargs and redis_kwargs["url"] is not None:
redis_kwargs.pop(
"connection_pool", None
) # redis.from_url doesn't support setting your own connection pool
return async_redis.Redis.from_url(**redis_kwargs) return async_redis.Redis.from_url(**redis_kwargs)
return async_redis.Redis( return async_redis.Redis(
socket_timeout=5, socket_timeout=5,

View file

@ -134,10 +134,12 @@ class RedisCache(BaseCache):
f"Set ASYNC Redis Cache: key: {key}\nValue {value}\nttl={ttl}" f"Set ASYNC Redis Cache: key: {key}\nValue {value}\nttl={ttl}"
) )
try: try:
await redis_client.set(name=key, value=json.dumps(value), ex=ttl) await redis_client.set(
name=key, value=json.dumps(value), ex=ttl, get=True
)
except Exception as e: except Exception as e:
# NON blocking - notify users Redis is throwing an exception # NON blocking - notify users Redis is throwing an exception
logging.debug("LiteLLM Caching: set() - Got exception from REDIS : ", e) print_verbose("LiteLLM Caching: set() - Got exception from REDIS : ", e)
async def async_set_cache_pipeline(self, cache_list, ttl=None): async def async_set_cache_pipeline(self, cache_list, ttl=None):
""" """