해시 데이터 배포와 병합 된 장애 조치 패턴이있는 Redis 분산 캐시로 작업하고 있습니다. 내 구성 :StackShare Redis Sentinel 클라이언트
Sentinel1 Sentinel4
Master1 Master2
Sentinel2 Sentinel5
Slave1 Slave2
Sentinel3 Sentinel6
내 코드에서 나는 센티넬을 사용하여 마스터 캐시에 액세스해야합니다.
어떤 점을 지적해야합니까?
ConnectionMultiplexer의 구성 안에 모든 센티넬 enpoint를 등록해야한다고 가정합니다.
은이 코드를 사용하여 감시 내 클라이언트를 연결할 수 M : 일단 내가 setString의과에는 getString 같은 표준 레디 스 방법을 사용하여 캐시 데이터베이스에 액세스하는 데 필요한 연결을 가지고
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;
... 그래서
db = conn.getDatabase();
db.getString(key);
db.setString(key, value);
이 시점에서 "이 작업은 명령 - 맵에서 비활성화되어 사용할 수 없습니다 : SETEX"또는 GET이 표시됩니다.
전초 인에게 현재 마스터에 연결을 요청하는 방법이 있어야한다고 가정하지만 유용한 코드 예제를 많이 찾지 못했습니다. 아무도 도와 줄 수 있습니까?