2 つのスレーブと 3 つのセンチネルを備えたマスター/スレーブ構成を使用しています。コマンドラインでコマンドを試すと、すべて問題ありません。しかし、C# 用に構成する際にいくつか問題があります。StackExchange.Redis ライブラリを使用しています。しかし、マスターからキーを取得/設定するために何をすべきかわかりません。手動でマスターを見つけてからキーを取得または設定する必要がありますか?それとも自律的に行う必要がありますか? それを行う最良の方法は何ですか?キーを取得/設定するたびに、誰がマスターかを確認する必要がありますか? 今のところ、私はこれだけを行い、他のコードはマスターが 1 つしかないまま残しました。
private static string ServiceName = "mymaster";
private static string IP { get { return "127.0.0.1"; } }
private static int Port = 26379;
public static readonly ConnectionMultiplexer Connection = GetConn();
public static readonly IServer Server = Connection.GetServer(IP, Port);
public static ConnectionMultiplexer GetConn()
{
try
{
// create a connection
var options = new ConfigurationOptions()
{
CommandMap = CommandMap.Sentinel,
EndPoints = { { IP, Port } },
AllowAdmin = true,
TieBreaker = "",
ServiceName = ServiceName,
SyncTimeout = 5000,
AbortOnConnectFail = true,
Ssl = false
};
var connection = ConnectionMultiplexer.Connect(options, Console.Out);
return connection;
}
catch (Exception ex)
{
ASLog.LogError(ex, 1);
return null;
}
}
ここで、ポート 26379 に 3 つのセンチネルの 1 つがあります。申し訳ありませんが、これを C# で使用する方法が少しわかりません。