мастер будет просто выполнять BGSAVE по запросу SYNC от ведомого, поэтому это не операция блокировки.
Итак, последовательность:
- ведомый запрашивает SYNC
- ведущий BGSAVE, ведомый ожидает
- ведущий BGSAVE завершен, начальные объемные данные (файл .rdb) передаются ведомому
- ведущий накапливает все новые различия для ведомого
- мастер заканчивает отправку всего исходного файла rdb на ведомый
- мастер начинает кормить ведомое устройство накопленным буфером и чем-либо новым, поступающим от клиентов, если они записываются.
Это также работает, если мастер не сконфигурирован для сохранения, просто он создаст .rdb только для главной <-> ведомой синхронизации.В основных экземплярах, настроенных без строк «save» в redis.conf, BGSAVE не вызывается автоматически, но может вызываться пользователем, если необходимо сохранить файл .rdb.