我设置了一个 Redis 集群(版本 3.2.0),而不是 Sentinel,有 4 个主服务器(每个都有一个从服务器)和一个随机指向 4 个主服务器 IP 之一的虚拟 IP。
VIP:10.0.0.10:6379,连接M1、M2、M3、M4:
M1: 10.0.0.1:6379 - S1: 10.0.0.5:6378
M2: 10.0.0.2:6379 - S2: 10.0.0.6:6378
M3: 10.0.0.3:6379 - S3: 10.0.0.7:6378
M4: 10.0.0.4 :6379 - S4: 10.0.0.8:6378
我的客户端使用 ServiceStack 通过 VIP 连接到我的集群:10.0.0.10:6379,但我收到错误消息:
ServiceStack.Redis.dll 中出现“ServiceStack.Redis.RedisResponseException”类型的异常,但未在用户代码中处理
附加信息:移动 2872 10.0.0.3:6379
我当前的字符串:
<add key="REDIS_MANAGER" value="redsAuthEnt@10.0.0.10:6379?connectTimeout=10000" />
我认为这是因为我的 ServiceStack 字符串连接为独立的 Redis 而不是 Redis 集群。这与我们必须使用-c
命令redis-cli
行时相同。
帮助我使用 ServiceStack 客户端或任何其他使用 Redis 集群的解决方案来制作我的 Redis 集群的连接字符串。