2011-01-21 9 views
3

Redisにブロック保存を強制する方法を教えてください。私はRuby Redis gemを使用していますが、この質問はそのライブラリ固有のものではないと思います。 SAVEのように思えますし、BGSAVEのコマンドはバックグラウンドで何かをやってしまって、後続の呼び出しで "-ERR background save in progress"エラーを引き起こすようです。Redis Blocking Save

「dump.rdb」の保存が完了するまで、これは他のすべてのRedisコマンドをブロックする退屈な同期呼び出しであることが望ましくありません。そして、うまくいけば、実際にはサーバをシャットダウンする必要はありません。 "/etc/init.d/redis-server"で回避してください。おそらく、私はLASTSAVEコマンドを使ってポーリングする必要がありますか?

答えて

0

Redis#saveはそれだけです。 RedisとRedisのどのバージョンを使用していますか?あなたはSAVEを呼び出していますが、進行中のセーブ背景についてのエラーを取得した場合

7

が、これはこれのいずれかに該当するbecuase、また進行中のBGSAVEがあることを意味します

1)誰かが呼ばBGSAVE 2) Redisは随時(デフォルト)保存するように設定されています。

既に保存が進行中であるため、保存が失敗します。進行中の背景があるかどうか、完了したらINFO出力を確認できます。