还有其他类似的问题,但我想把它归结为骨头。
我正在运行.NET
应用程序(C#
),我正在尝试连接并监视一组运行sentinel的redis
服务器(3x sentinel监控1个主服务器和2个从服务器)。它们位于linux
个方框上。
如果我对该服务器进行硬编码,我可以使用ServiceStack.Redis
来写/读三者的主人。我想要做的是监控sentinel以查看哪个是主要的,以使该读/写动态。
这是我的代码:
var sentinelHosts = new[]{ "server01Name", "server02Name", "server03Name" };
var sentinel = new RedisSentinel(sentinelHosts, masterName: "mymaster");;
IRedisClientsManager redisManager = sentinel.Start();
这会引发一个例外No Redis Sentinels were available
。
我确定我错过了一些非常简单的事情,但我似乎无法对此有所了解。
我正在运行redis
版本4.0.1和ServiceStack.Redis
版本4.5.14.0。
谢谢!
答案 0 :(得分:1)
是的,这很简单。 masterName
必须匹配您的标记设置服务器端的主名称。