Redisの持続性について

Redisのは、高度なキーと値のデータベースです。これは、memcachedのと似ていますが、データが永続することができ、およびサポートされているデータの種類が非常に豊富です。文字列、リスト、セット、および順序付きセットがあります。支持体の、サーバ側のセットを計算し、クロス補体(-difference)、等だけでなく、ソートの様々なサポート。したがってRedisのは、サーバのデータ構造として見ることができます。
すべてのRedisのデータがメモリに保存され、その後、非同期による時間までの時間から(これは「半永続モード」として知られている)ディスクに保存されます。(また、唯一のファイルデータを追加するように書き込まれるたびに変更することができますAOF)(これは、「完全な永続モード」として知られている)の内部。 

Redisのデータがメモリに格納されているので、永続性を設定していない場合のRedisは全体的にデータを再起動した後、失われているので、Redisのディスクから再起動したときに永続化機能のRedisを開く必要は、データをディスクに保存しますデータを復元します。Redisの持続性は1つが、他はAOF(ファイルのみを追加)持続性(永続的なRDB(レイズ原理はRDB永続ディスクをダンプするために、インメモリデータベースレコードのタイミングである)であるが、2つの方法を提供しますレイズ動作原理)は、ファイルを書き込むための追加の方法を記録することです。だから、両方の方法は、それが選択する方法を変更、どのような違いを生むん永続しますか?大半は、オンラインプレゼンテーションを読む2、どのようなシナリオの下での間にここには区別がないこと、使用方法、設定方法は二つの方法があります。

RDBが存在する利点は何ですか?

1)このようたら、その後、あなたの全体のRedisのデータベースは、ファイルのバックアップに最適です。一つだけのファイルを、含まれています。たとえば、最後のデータの24時間を時間ごとにアーカイブするつもりかもしれませんが、また、毎日のデータの最後の30日に1回アーカイブ。システムが壊滅的障害が発生した後に、このバックアップ戦略では、我々は非常に簡単に復元することができます。

2)災害復旧のために、RDBは非常に良い選択です。我々は非常に簡単に別のファイル圧縮すること、その後、他の記憶媒体に転送することができますので。

3)性能が最大化されています。プロセスのRedisのサービスのために、持続性の初めに、それは実行するだけの必要性は、あなたが大幅にサービスのIO動作の処理を避けることができるように、子供をforkし、その後、子供がこれらの永続的な作業が完了した後です。

データセットが大きい場合4)AOF機構と比較すると、RDB効率が高くなり始めます。

RDBとどのような弱点が存在しますか?

1)あなたはつまり、最大値はデータの損失を回避するために、データの高可用性を保証したい場合は、RDBは良い選択ではないでしょう。持続性のタイミングの前に、システムのダウンタイム現象一度、ディスク上にデータを書き込むための時間がなかったので失われます。

2)データセットが大きい場合、それは全体の数百ミリ秒の提供を停止するサーバ、あるいは1秒引き起こし得るので、もしフォークを介してRDB子プロセスが、データの永続化作業を支援するため。

AOFの利点、何をしますか?

1)。このメカニズムは、より高いデータセキュリティ、すなわち、データの永続性をもたらすことができます。Redisのは毎秒同期同期戦略、3を提供し、すべての変形及び同期は同期していません。実際には、非同期同期は違い、システムのダウンタイム現象一度、その後、数秒以内に変更されたデータが失われることで、その効率は非常に高く、毎秒完了です。そして、すべての同期を変更し、我々は、データの変更が即座にディスクに記録されますたびに発生同期の永続性とみなすことができます。このように効率が最低であることを予想されます。非同期に関しては、言うまでもなく、私たちはそれを理解して修正することができると思います。

2)。機構は、ログファイルの追加モードに書き込むためのログファイルの内容を乱すことなく、書き込みプロセス中のダウンタイムの現象は、既に存在する場合でも、使用されています。私たちは、この操作は半分しかデータが、システムのクラッシュを登場で書く場合は、私たちはRedisの-チェックAOFツールでデータの一貫性の問題を解決するために我々はできる、次回の起動時のRedisの前に、心配しないでください。

ログが大きすぎる場合3)、Redisのは、自動的に書き換えメカニズムを有効にすることができます。Redisのモードを追加するということはRedisのは、コマンドに変更されたものを記録するための新しいファイルを作成しながら、変更されたデータは、古いディスク・ファイルに書き込まれていきます。この期間中に実行されます。そのため、切り替え時に行われる書き換えデータのセキュリティをより良く保証することができます。

すべての変更を記録するための明確な、理解ログ・ファイルを含む4)。AOF形式。実際には、我々は、ファイルを介して再構成データを完了することができます。

AOFの欠点、何をしますか?

1)データセットの同じ数の場合、AOFはRDB文書ファイルよりも一般に大きいです。RDBスピード、大規模なデータを復旧AOFの回復の速度よりも速く設定されます。

2)同期化政策によって、作業効率上のAOFは、RDBにおけるよりも遅くなる傾向にあります。要するに、第二の戦略当たりの同期の効率が比較的高い、同期効率的かつ効率的なようRDBポリシーを無効にします。

両方の選択基準は、システムを参照してくださいする場合は、時間が節約手動で実行するために、より高いパフォーマンスと引き換えにバックアップを有効にしない、頻繁に操作を書くことが喜んでいた高いキャッシュ・コヒーレンシ(AOF)と引き換えに、いくつかのパフォーマンスを犠牲にしています、バックアップ(RDB)を行います。これは、さらにいくつかの最終的一貫性の平均値をRDBです。

図4に示すように、一般的な構成

RDBの持続性の設定

Redisのスナップショットはdump.rdbファイルに設定されたデータをダンプします。また、我々はまた、周波数Redisのサーバー設定ファイルダンプスナップショットによって変更することができ、6379.confファイルを開いた後、私たちは、保存、検索、次の構成情報を見ることができます:

少なくとも1つのキーが変更された場合、900秒(15分)した後、900 1#を保存し、ダンプメモリのスナップショット。

変更キー10、ダンプメモリのスナップショットが存在し、少なくとも場合は、300秒(5分)後に300 10#を保存します。

少なくとも10,000個のキーの変更、ダンプメモリのスナップショット場合は、60秒(1分)後に60万#を保存します。

AOFの持続性の設定

同期Redisのプロファイルの三種類の本実施形態では、それらは:

ファイルがAOFに書き込まれたときappendfsyncは常に#たびにデータ変更が発生します。

1秒に1回appendfsync everysec#同期、戦略は、AOFのデフォルトの戦略です。

何#決して同期をappendfsyncません。効率的なが、データは保持されません。

おすすめ

転載: www.cnblogs.com/yangfanfan/p/11586165.html