Каково ожидаемое поведение Redis Sentinel, если вы случайно пишете рабу? - PullRequest
0 голосов
/ 09 января 2019

Я пытаюсь выяснить, каково ожидаемое поведение в настройке Redis Sentinel (НЕ Redis Cluster), если вы случайно выполнили команду записи (например, SET или BLPOP) для подчиненного устройства Redis. Мой инстинкт был в том, что вы сразу же получите сообщение об ошибке (хотя я не знаю, какой будет код ошибки). Сегодня в нашей производственной среде мы увидели нечто странное, из-за чего создается впечатление, что реальное поведение заключается в том, что он блокируется навсегда, вместо того, чтобы немедленно возвращать ошибку (в данном случае BLPOP была конкретной командой, которую мы дали). Я пытаюсь выяснить, в какую кроличью нору идти вниз: кроличья нора в нашей конфигурации Redis неверна или кроличья нора в нашем коде неверна. Было бы полезно, если бы я знал, каково ожидаемое поведение раба в Redis Sentinel, но около двух часов работы Google ничего не дало в документации.

1 Ответ

0 голосов
/ 12 мая 2019

В моей среде с Redis 4.0.1 и ведомыми только для чтения, ошибка сразу же возвращается при установке значений:

127.0.0.1:6380> get foo
"hi"
127.0.0.1:6380> set foo bar
(error) READONLY You can't write against a read only slave.

По умолчанию Redis 2.6 доступны только для чтения, дополнительную информацию можно получить по адресу https://redis.io/topics/replication

...