2011-06-22 6 views
2

rails 2.3.8でredisを使用して高得点を記録しています。私はサーバを再起動しましたが、DBはリロードしていません。 configファイルのDBのデフォルトのdirパスが使用されました: 'dir ./'私は思いますか?また、dbfilenameの名前もデフォルトに設定されました: 'dbfilename dump.rdb'これを復元する方法はありますか? DBファイルがデフォルト設定で保存されていたのですか、運が悪いですか?Reload Redis DB

答えて

2

Redisはデフォルトで定期的にディスクに保存します。同じファイルに複数のインスタンスを保存したり、複数のインスタンスをポイントしたりしない限り、Redisを再起動すると自動的にリロードされます。

ただし、初期化スクリプトを設定しない限り、再起動後にサーバーは自動的に再起動されません。 initスクリプトを持っていても、以前にリブートしていない場合は、別の作業ディレクトリまたはdbファイルのアクセス権を持たない別のユーザを使用してスクリプトインスタンスを作成する可能性が最も高いです。

configに指定されたファイルが実際に存在しない場合は、初期設定で何か問題があります。保存はオプションで、ディスクへの書き込みは致命的なエラーではなく警告として記録されます。あなたが再起動する前に対処していなかったログに保存エラーがあった場合、今はあまりできません。

+0

こんにちはTomさん、ありがとうございました。私はinitスクリプトを持っていなかったし、rdbファイルを保存するためにデフォルトの 'dir ./'パスを使っていた設定ファイルでredisを手動で起動した。デフォルトの保存オプションもそこにあったので、このファイルには物事が保存されているはずです。これらのデフォルト設定でrdbファイルがあると思いますか? – TTDaVeTT

+0

私はここからredis w命令をインストールしました:http://jimneath.org/2011/03/24/using-redis-with-ruby-on-rails.html cd redis-2.2.2、make、cp src/redis-server src/redis-cli/usr/bin – TTDaVeTT

+0

これらの手順を実行すると、最初にredisを実行したときに、そのフォルダに書き込む権限を持っていたとしても、dump.rdbはそのフォルダにあります。ログディレクトリを確認することは役に立ちますが、ログディレクトリはデフォルトでは書き込み可能ではない可能性があります。 –

1

私のケースでは、再起動後にredis-serverを再起動したときに、dump.rdbが選択されませんでした。私は明示的に設定ファイルを指定しなければなりませんでした。 redis-server etc/redis.confがdump.rdbを受け取るようにします。

関連する問題