From cb734ea8292bd7b415f900c115899236030888cf Mon Sep 17 00:00:00 2001 From: Bowen Liang Date: Sun, 11 May 2025 00:29:11 +0800 Subject: [PATCH] update configs --- api/configs/middleware/cache/redis_config.py | 5 +++++ api/extensions/ext_redis.py | 13 +++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/api/configs/middleware/cache/redis_config.py b/api/configs/middleware/cache/redis_config.py index 2e98c31ec3..9e0f28f219 100644 --- a/api/configs/middleware/cache/redis_config.py +++ b/api/configs/middleware/cache/redis_config.py @@ -83,3 +83,8 @@ class RedisConfig(BaseSettings): description="Password for Redis Clusters authentication (if required)", default=None, ) + + REDIS_SERIALIZATION_PROTOCOL: int = Field( + description="Redis serialization protocol (RESP) version", + default=3, + ) diff --git a/api/extensions/ext_redis.py b/api/extensions/ext_redis.py index a13d717716..41b2060e61 100644 --- a/api/extensions/ext_redis.py +++ b/api/extensions/ext_redis.py @@ -53,6 +53,9 @@ 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 + redis_params: dict[str, Any] = { "username": dify_config.REDIS_USERNAME, "password": dify_config.REDIS_PASSWORD or None, # Temporary fix for empty password @@ -60,7 +63,8 @@ def init_app(app: DifyApp): "encoding": "utf-8", "encoding_errors": "strict", "decode_responses": False, - "cache_config": CacheConfig(), + "protocol": resp_protocol, + "cache_config": clientside_cache_config, } if dify_config.REDIS_USE_SENTINEL: @@ -88,7 +92,8 @@ def init_app(app: DifyApp): RedisCluster( startup_nodes=nodes, password=dify_config.REDIS_CLUSTERS_PASSWORD, - cache_config=CacheConfig(), + protocol=resp_protocol, + cache_config=clientside_cache_config, ) ) else: @@ -97,8 +102,8 @@ def init_app(app: DifyApp): "host": dify_config.REDIS_HOST, "port": dify_config.REDIS_PORT, "connection_class": connection_class, - "protocol": 3, - "cache_config": CacheConfig(), + "protocol": resp_protocol, + "cache_config": clientside_cache_config, } ) pool = redis.ConnectionPool(**redis_params)