プログラマ会話シリーズ - Redisの程度の理解の一部

A、Redisのデータ損失、停電はどのように行うには?

そこRDBはRedisの間隔を非同期化され、RDBとのRedis AOFバックアップ操作、バイナリファイルを生成します。AOFは、リアルタイム比較的広い、appendonlyファイルへのデータの相対量を、コマンドを記述しますが、ファイルが大きいです。RDBはbgsaveコマンドである、背景フォークの子プロセス、結果のファイルを使用してコピーライターが大きいのRedis、その後、大きなインパクトがあるだろう

二つには、次のことを確認する方法クラスタをRedisの?

センチネルモード、マスターのダウンタイム、およびスレーブから最適な、高可用性を選択するために開発。

第三に、クラスタスプリットブレイン現象は、どのように解決するには?

スプリットブレインの防止 - セットタイムアウト:として - リンクタイムアウトは2秒に設定されています。任意のリンクはわずか2秒以内に動作します。センチネルは、新しいマスターを選出するので、それは2秒間遅延させることができます。ライブの場所:なしハードウェアの問題が生じていない、何のリンクはないだろうことを保証するために、ネットワークの健全性を高めるためには、中断することができる、とのリンクの場合は壊れている、それはすべての外部リンク切れのマスターでなければなりません。

解決スプリットブレイン - 早期警告機能を提供するために、中央の監視を設定します。人間の脳の分割結果のオフライン処理。同期データをスキャンするタイミング。

第四には、どのようにデータベースの初期化のRedisを同期させます

送信されます、時間のスレーブを起動しPSYNCそれが最初のスレーブのマスタに接続されている場合、彼はフルボリュームのコピーをトリガーする、マスターにコマンドを。マスターが生成するスレッドを開始しますRDBのスナップショットを、だけでなく、新しい書き込み要求はメモリにキャッシュされRDBファイルが生成された後、マスタがしますRDBのスレーブに送信され、スレーブは最初のものの後に行うようになりましたローカルディスクに書き込んだ後、メモリにロードされ、その後、スレーブに送信されたものを、新たに名前のマスター・キャッシュ・メモリを置きます。

V.キャッシュ内訳はどのように解決するには?

特定の時点でのホットキー壊滅的な障害、データクラッシュの出現。

1、時間をバッファリングして失敗することはありません

セットnxはjedisを達成することができます:2は、避けるために、分散ロックは、ライブラリに直接落ちます。(デッドロック現象を回避する方法?)

3は、マルチレベルのキャッシュを設定し、データベースを直接クエリを避けるために、eacheを使用しています。

おすすめ

転載: www.cnblogs.com/ffdsj/p/12555036.html