diff --git a/api/configs/middleware/cache/redis_config.py b/api/configs/middleware/cache/redis_config.py index 9e0f28f219..9320c5ab2e 100644 --- a/api/configs/middleware/cache/redis_config.py +++ b/api/configs/middleware/cache/redis_config.py @@ -88,3 +88,8 @@ class RedisConfig(BaseSettings): description="Redis serialization protocol (RESP) version", default=3, ) + + REDIS_ENABLE_CLIENT_SIDE_CACHE: bool = Field( + description="Enable client side cache in redis", + default=True, + ) diff --git a/api/extensions/ext_redis.py b/api/extensions/ext_redis.py index dc3ae4bd38..c283b1b7ca 100644 --- a/api/extensions/ext_redis.py +++ b/api/extensions/ext_redis.py @@ -53,7 +53,13 @@ def init_app(app: DifyApp): if dify_config.REDIS_USE_SSL: connection_class = SSLConnection resp_protocol = dify_config.REDIS_SERIALIZATION_PROTOCOL - clientside_cache_config = CacheConfig() if resp_protocol >= 3 else None + if dify_config.REDIS_ENABLE_CLIENT_SIDE_CACHE: + if resp_protocol >= 3: + clientside_cache_config = CacheConfig() + else: + raise ValueError("Client side cache is only supported in RESP3") + else: + clientside_cache_config = None redis_params: dict[str, Any] = { "username": dify_config.REDIS_USERNAME,