Ich benutze StackExchange.Redis, um mit einem Paar Redis-Server, einem Master und einem Slave zu sprechen. Wenn ich den Master nicht bestehe, kann ich dem Slave nicht schreiben.Wie schreibe ich mit StackExchange.Redis in einen Slave?
Ich habe IServer.AllowSlaveWrites
Satz zu true
, und ich habe die slave-read-only
Konfigurationseinstellung auf beiden Servern zu no
gesetzt. (Bestätigt durch INFO.)
Wenn der Master ist nach wie vor in dem Server-Pool des Kunden (aber offline), erhalte ich:
RedisConnectionException: SocketFailure on <master_ip>/Subscription
Wenn ich den Master nehme ganz aus dem Server-Pool, die ich erhalte:
Im ersten Fall scheint es zu versuchen, mit dem Master zu sprechen und auf Fehler zu verzichten. In der zweiten spricht es mit dem Slave, kann aber keine Schreiboperationen ausführen.
Wie kann ich meinen Client dazu bringen, auf einen Slave-Server zu schreiben, ohne dass ein Master vorhanden ist?
(Siehe auch How does StackExchange.Redis use multiple endpoints and connections?)