@@ -16,23 +16,43 @@ class RedisConnectionManager:
1616 def get_connection (cls , decode_responses = True ) -> Redis :
1717 if cls ._instance is None :
1818 try :
19- redis_class : Type [Union [Redis , RedisCluster ]] = redis .cluster .RedisCluster if REDIS_CFG ["cluster_mode" ] else redis .Redis
19+ if REDIS_CFG ["cluster_mode" ]:
20+ redis_class : Type [Union [Redis , RedisCluster ]] = redis .cluster .RedisCluster
21+ connection_params = {
22+ "host" : REDIS_CFG ["host" ],
23+ "port" : REDIS_CFG ["port" ],
24+ "username" : REDIS_CFG ["username" ],
25+ "password" : REDIS_CFG ["password" ],
26+ "ssl" : REDIS_CFG ["ssl" ],
27+ "ssl_ca_path" : REDIS_CFG ["ssl_ca_path" ],
28+ "ssl_keyfile" : REDIS_CFG ["ssl_keyfile" ],
29+ "ssl_certfile" : REDIS_CFG ["ssl_certfile" ],
30+ "ssl_cert_reqs" : REDIS_CFG ["ssl_cert_reqs" ],
31+ "ssl_ca_certs" : REDIS_CFG ["ssl_ca_certs" ],
32+ "decode_responses" : decode_responses ,
33+ "lib_name" : f"redis-py(mcp-server_v{ __version__ } )" ,
34+ "max_connections_per_node" : 10
35+ }
36+ else :
37+ redis_class : Type [Union [Redis , RedisCluster ]] = redis .Redis
38+ connection_params = {
39+ "host" : REDIS_CFG ["host" ],
40+ "port" : REDIS_CFG ["port" ],
41+ "db" : REDIS_CFG ["db" ],
42+ "username" : REDIS_CFG ["username" ],
43+ "password" : REDIS_CFG ["password" ],
44+ "ssl" : REDIS_CFG ["ssl" ],
45+ "ssl_ca_path" : REDIS_CFG ["ssl_ca_path" ],
46+ "ssl_keyfile" : REDIS_CFG ["ssl_keyfile" ],
47+ "ssl_certfile" : REDIS_CFG ["ssl_certfile" ],
48+ "ssl_cert_reqs" : REDIS_CFG ["ssl_cert_reqs" ],
49+ "ssl_ca_certs" : REDIS_CFG ["ssl_ca_certs" ],
50+ "decode_responses" : decode_responses ,
51+ "lib_name" : f"redis-py(mcp-server_v{ __version__ } )" ,
52+ "max_connections" : 10
53+ }
2054
21- cls ._instance = redis_class (
22- host = REDIS_CFG ["host" ],
23- port = REDIS_CFG ["port" ],
24- username = REDIS_CFG ["username" ],
25- password = REDIS_CFG ["password" ],
26- ssl = REDIS_CFG ["ssl" ],
27- ssl_ca_path = REDIS_CFG ["ssl_ca_path" ],
28- ssl_keyfile = REDIS_CFG ["ssl_keyfile" ],
29- ssl_certfile = REDIS_CFG ["ssl_certfile" ],
30- ssl_cert_reqs = REDIS_CFG ["ssl_cert_reqs" ],
31- ssl_ca_certs = REDIS_CFG ["ssl_ca_certs" ],
32- decode_responses = decode_responses ,
33- lib_name = f"redis-py(mcp-server_v{ __version__ } )" ,
34- ** ({"max_connections_per_node" : 10 } if REDIS_CFG ["cluster_mode" ] else {"max_connections" : 10 })
35- )
55+ cls ._instance = redis_class (** connection_params )
3656
3757 except redis .exceptions .ConnectionError :
3858 print ("Failed to connect to Redis server" , file = sys .stderr )
0 commit comments