Redis Блокировка Сохранить - PullRequest
       4

Redis Блокировка Сохранить

3 голосов
/ 21 января 2011

Как я могу заставить Redis сделать блокировку сохранения?Я использую гем Ruby Redis, но я считаю, что этот вопрос не относится к этой библиотеке.Похоже, что команды SAVE и BGSAVE, кажется, трепетают, выполняя какие-либо действия в фоновом режиме, вызывая ошибки «-ERR фоновое сохранение в процессе» при последующих вызовах.

Надеюсь, это будет скучный синхронный вызов, который блокирует вседругие команды Redis до тех пор, пока не будет сохранено «dump.rdb».И, надеюсь, это не потребует фактического выключения сервера, а с помощью «/etc/init.d/redis-server».Предположительно я должен опрашивать команду LASTSAVE?

Ответы [ 3 ]

7 голосов
/ 21 января 2011

если вы вызываете SAVE, но получаете сообщение об ошибке фонового сохранения в процессе, это означает, что также выполняется BGSAVE, потому что одно из истинных значений:

1) Кто-то вызвал BGSAVE 2)Redis настроен на сохранение время от времени (по умолчанию).

Таким образом, СОХРАНИТЬ не удается, так как уже выполняется сохранение.Вы можете проверить, есть ли фон в процессе, и когда он будет завершен, проверить вывод INFO.

0 голосов
/ 21 января 2011

Redis # save делает именно это. Какую версию Redis и Redis Gem вы используете?

0 голосов
/ 21 января 2011

SAVE - это синхронное сохранение ;BGSAVE является асинхронным .

Почему, по вашему мнению, SAVE работает в фоновом режиме?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...