RedisがDisk書き込みのタイミングで接続出来なくなる

Redisはデフォルトで定期的にDiskへバックアップをとるようになっていますが、
このタイミングでクライアントからRedisに対して接続出来なくなるようです。

僅かな差分であれば、一瞬で終るのですが、
それなりの更新があると書き込みにかかる時間も増えるのでその間、ずっと繋がらなくなります。

マニュアルには、

BGSAVE()
データベースの保存をバックグラウンドで行います。 OK コードは直ちに返って来ます。Redisはフォークし、親のプロセスはクライアントに対して処理をし続け、子のプロセスはデータベースをディスクに保存したあと死にます。クライアントから保存が無事に終わったかを LASTSAVE コマンドを使って確認することが出来ます。

とあるので、疑問だったのですが、
親プロセスが処理を「受け」続けるとは書いていないので、間違ってはいないのかな。

ということで、Disk書き込みを無効にして、スレーブの方でDisk保存するようにしました。
もし再起動などの際に、Diskに保存したい場合は、BGSAVE()を手動で発行すればOK。

About irako

広告系Webエンジニア 最近はluaがお気に入り。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です