0

Redis サーバーを 2 台のマシンで実行し、各サーバーが構成ファイルで同じスナップショット ダンプ ファイル名とディレクトリを指定し、ディレクトリとファイルが明らかに両方のマシン間で共有されていることは可能ですか?

RavenDB はそれで問題なく動作するようです。自分のマシンの Dropbox フォルダにサーバー ファイル ディレクトリ全体をセットアップし、RavenDb サーバーがデータベースとの間でデータを読み書きしている間に 2 つのドロップ ボックスを同期させて、他のマシンでも同じことを行うことができます。ドロップボックスフォルダに保存されます。

両方の DB の概念が大きく異なることは理解しています。RavenDB の経験を例として使用して、私が達成しようとしていることを説明しています。これは開発目的のためのものであり、本番環境では実行できないことに注意してください。

バージョン 2.4.5 の Redis を Windows サービスとして実行しており、BookSleeve を C# .Net 4.5 内のクライアントとして使用しています。

ありがとう

4

2 に答える 2

0

確かにそうではありません。これは、破損したファイルを確実にする確実な方法です。

現在仕様段階にある Redis クラスター ( http://redis.io/topics/cluster-spec ) の進行状況を確認することをお勧めします。

于 2013-03-02T08:02:31.727 に答える
0

永続性が有効になっていないシステムでダンプ ファイルを使用するのは、起動時だけです。ただし、永続性が無効になっている場合は、ダンプ ファイルから読み取られません。

ダンプ ファイルにサーバー固有のデータがなくても、両方のサービスがファイルに書き込むたびに破損の可能性が生じます。たとえば、60 秒間に 5,900 万回の変更があった場合にのみ保存するように永続化設定を設定できます。これにより、ロード時にファイルを読み取ることはできますが、保存することはできません。その後、使用する必要があります

redis config set save ""

両方の保存を無効にするが、必要なときに保存できるようにするには、上記を実行して by save コマンドを発行します。

また、同じファイルにアクセスする複数のマシンでこれを行う必要がある共有ファイル システムでこれを実行しないようにアドバイスする必要があります。あなたの場合、共有ファイル システムとして Dropbox について話しているのですが、ディスクに永続化している場合、パフォーマンスが低下する可能性があります。

しかし最後に、なぜこれが必要だと思うのか尋ねなければなりませんか?

1 つを読み取り専用に使用している場合は、1 つまたは 2 つのスレーブを使用して、スレーブで読み取りを行います。このようにして、複数のインスタンスが永続ファイルを破損することを心配する必要はありません。これにより、それぞれデータのコピーを使用して 2 つのノードを実行しているため、共有ストレージが不要になります。これにより冗長性が提供され、マスター/スレーブのフェイルオーバー設定を比較的簡単に行うことができます。

最終的に、何かを開発するためにそれを使用している場合、そのようなセットアップの必要性はわかりません. 構成をダウンロードできる場所 (Dropbox、github など) に保存して、開発を進めるだけです。説明したことを実行するよりも、ダンプ ファイルを Dropbox やその他の必要な場所にコピーすることは難しくなく、確かにそれほど複雑ではありません。

于 2013-03-03T05:26:08.543 に答える