2014-10-22 3 views
0

У меня есть база данных Redis, настроенная как master/slave.Redis master/slave как переписать содержимое мастера на ведомый

Я добавил ключи к рабу. Как переписать контент подчиненного мастера? Когда я добавляю ключ к мастеру, я только мастер Redis. И когда я добавляю ключ к подчиненному, он только в подчиненном Redis. Как получить ключ от мастера в рабстве? И наоборот.

ответ

1

Редизайн главного/подчиненного Редиса - это строго один путь, от мастера до подчиненного (-ов). Любые обновления для мастера реплицируются ниже по потоку и перезаписывают содержимое подчиненного устройства.

Если ваша репликация запущена, все основные обновления будут реплицироваться почти сразу в подчиненный. Если вы используете перезаписываемые подчиненные устройства, ключи, которые существуют как в главном, так и в ведомом, будут перезаписаны потоком репликации мастера. Новые ключи, которые существуют только в подчиненном устройстве (при записи на запись), никогда не будут реплицироваться вверх по ходу до мастера. Единственный способ добавить ключи к хозяину - это написать прямо к нему (или если он сам является репликой, а затем ее хозяину ...).

Остается вопрос, почему вы хотите написать ключи для подчиненного устройства и отправить их в мастер. Теоретически вы могли бы написать свое приложение как для мастера, так и для подчиненного, но я дрожу, думая о условиях гонки и проблемах согласованности, с которыми вы столкнетесь, если вы это сделаете.

0

То, что вы описываете, было бы установкой с несколькими мастерами, что невозможно с Redis.

+0

Невозможно в настоящее время, но, возможно, когда-нибудь ... В последнее время были разговоры о том, что нужно сделать, чтобы это произошло - очень захватывающий материал :) –

Смежные вопросы