From 4fbb31c052707d7715554e1b291fdd33cf9ec9c1 Mon Sep 17 00:00:00 2001 From: owais Date: Mon, 8 Sep 2025 01:15:26 +0530 Subject: [PATCH] Added warning logs for triaging issues of local redis client being used with get method of embedding cache when async redis client is provided --- .../extensions/cache/embeddings/embeddings.py | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/redisvl/extensions/cache/embeddings/embeddings.py b/redisvl/extensions/cache/embeddings/embeddings.py index 31f73220..01097441 100644 --- a/redisvl/extensions/cache/embeddings/embeddings.py +++ b/redisvl/extensions/cache/embeddings/embeddings.py @@ -167,6 +167,13 @@ def get_by_key(self, key: str) -> Optional[Dict[str, Any]]: embedding_data = cache.get_by_key("embedcache:1234567890abcdef") """ + if self._owns_redis_client is False and self._redis_client is None: + logger.warning( + "You are using redis_client but you had initialised the EmbeddingCache with an async_redis_client only. " + "If you intended to use async_redis_client, please use async aget(text, model_name) method of EmbeddingCache instead " + "of get(text, model_name)." + ) + client = self._get_redis_client() # Get all fields @@ -202,6 +209,13 @@ def mget_by_keys(self, keys: List[str]) -> List[Optional[Dict[str, Any]]]: if not keys: return [] + if self._owns_redis_client is False and self._redis_client is None: + logger.warning( + "You are using redis_client but you had initialised the EmbeddingCache with an async_redis_client only. " + "If you intended to use async_redis_client, please use async amget(texts, model_name) method of EmbeddingCache instead " + "of mget(texts, model_name)." + ) + client = self._get_redis_client() with client.pipeline(transaction=False) as pipeline: @@ -283,6 +297,13 @@ def set( text, model_name, embedding, metadata ) + if self._owns_redis_client is False and self._redis_client is None: + logger.warning( + "You are using redis_client but you had initialised the EmbeddingCache with an async_redis_client only. " + "If you intended to use async_redis_client, please use async aset(text, model_name, embedding, metadata=None, ttl=None) " + "method of EmbeddingCache instead of set(text, model_name, embedding, metadata=None, ttl=None)." + ) + # Store in Redis client = self._get_redis_client() client.hset(name=key, mapping=cache_entry) # type: ignore @@ -333,6 +354,13 @@ def mset( if not items: return [] + if self._owns_redis_client is False and self._redis_client is None: + logger.warning( + "You are using redis_client but you had initialised the EmbeddingCache with an async_redis_client only. " + "If you intended to use async_redis_client, please use async amset(items, ttl=None) method of EmbeddingCache instead " + "of mset(items, ttl=None)." + ) + client = self._get_redis_client() keys = []