Redis学習ノート(二)

3469 ワード

Redis持続化RDBとAOF

		Redis         ,
		RDB (Redis DataBase)  AOF (Append Only File)

RDB(redis database):
  • RDBはRedisのデフォルトの永続化スキームである.指定した間隔で、指定した回数の書き込みを行うと、メモリのデータがディスクに書き込まれます.すなわち、指定ディレクトリの下にdumpを生成する.rdbファイル.Redis再起動はdumpをロードする.rdbファイルはデータを復元します.

  • 1 RDBコア規則構成(重点)save.#save “” save 900 1 save 300 10 save 60 10000
    解説:saveは、条件を満たすとメモリのデータをハードディスクに同期します.デフォルトでは900秒以内に1つの変更があり、300秒以内に10つの変更があり、60秒以内に10000の変更がある場合は、メモリ内のデータスナップショットをディスクに書き込みます.RDBスキームを使用したくない場合は、save""のコメントを開いて、次の3つのコメントを開くことができます.
    2ローカルデータベースのファイル名を指定します.一般的にデフォルトのdumpを使用します.rdb dbfilename dump.rdb
    3ローカル・データベースの格納ディレクトリを指定します.一般的にdir./もデフォルトで構成されます.
    4デフォルトオープンデータ圧縮rdbcompression yes
    説明:ローカル・データベースに格納するときにデータを圧縮するかどうかを設定します.デフォルトはyesです.RedisはLZF圧縮方式を採用しているが,CPUの時間が少しかかっている.このオプションをオフにすると、データベース・ファイルが大きくなります.開くことを推奨します.
    RDBスナップショット1をトリガ指定された時間間隔で、指定された回数の書き込み操作2を実行してsave(スナップショットの保存のみ、その他の待機)を実行するか、bgsave(非同期)コマンド3がflushallコマンドを実行し、データベースのすべてのデータをクリアすることは、意味がありません.4 shutdownコマンドを実行して、サーバーが正常に停止し、データが失われないことを保証します.意味もありません.
    RDBファイルからデータを復元するdump.rdbファイルをredisのインストールディレクトリのbinディレクトリにコピーし、redisサービスを再起動すればよい.実際の開発では、物理機のハードディスクの破損を考慮して、バックアップdumpを選択するのが一般的である.rdb .以下の操作のプレゼンテーションから理解できます.
    RDBの長所と短所:1大規模なデータ復旧に適している.2ビジネスがデータ整合性と一貫性に対する要求が高くない場合、RDBは良い選択です.
    欠点:1データの整合性と一貫性は高くありません.RDBは最後のバックアップでダウンタイムになる可能性があります.2バックアップ時にメモリを使用します.Redisはバックアップ時に独立してサブプロセスを作成し、一時ファイルにデータを書き込み(メモリのデータは元の2倍ですよ)、最後に前のバックアップファイルを一時ファイルに置き換えます.だからRedisの持続化とデータの回復は夜が更けて人が静かな時に実行するのが合理的だ.
    AOF(append Only filed)AOF:Redisはデフォルトでオンになっていません.RDBの不足(データの不一致)を補うために、ログ形式で各書き込み操作を記録し、ファイルに追加します.Redisが再起動すると、ログ・ファイルの内容に応じて、データのリカバリを完了するために、書き込みコマンドが前後に1回実行されます.構成ファイルからAOFがredisを開くことを知る.confファイル、APPEND ONLY MODE対応内容1 redisを見つけてデフォルトで閉じ、開くには手動でnoをyes appendonly yes 2に変更してローカルデータベースファイル名を指定する必要があり、デフォルト値はappendonlyである.aof appendfilename「appendonly.aof」3更新ログ条件を指定
    .# appendfsync always .#appendfsync everysec .#appendfsync no解説:always:同期永続化で、データの変化が発生するたびにすぐにディスクに書き込まれます.パフォーマンスが悪いデータ整合性が良い(遅い、安全)everysec:出荷時のデフォルト推奨、毎秒非同期記録(デフォルト)no:非同期4構成書き換えトリガメカニズム
    Autoaof-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64 mb解説:AOFファイルサイズが前回rewrite後のサイズの倍であり、ファイルが64 Mより大きい場合にトリガーされます.普通はすべて3 Gに設定して、64 Mは小さすぎます.
    トリガAOFスナップショットは、プロファイルに従ってトリガされ、実行ごとにトリガされ、毎秒トリガされ、同期されなくてもよい.
    AOFファイルに従ってデータが正常に回復する場合、appendonly.aofファイルをredisのインストールディレクトリのbinディレクトリにコピーし、redisサービスを再起動すればよい.しかし、実際の開発では、いくつかの理由でappendonlyが発生する可能性があります.aofファイルのフォーマットが異常で、データの復元に失敗し、redis-check-aof--fix appendonlyをコマンドすることができる.aofは修復を行う.
    AOFの書き換えメカニズムについても前述したように,AOFの動作原理は書き込み操作をファイルに追加することであり,ファイルの冗長性が増すことである.だから賢いRedisは書き換えメカニズムを追加しました.AOFファイルのサイズが設定した閾値を超えると、RedisはAOFファイルの内容を圧縮する.
    書き換えの原理:Redisはforkから新しいプロセスを出し、メモリのデータを読み取り、一時ファイルに書き直します.古いファイルを読み込んでいません(あなたはそんなに大きくなったのに、私はまたあなたを読みに行きます???o(゚)Дヽ(゚)傻啊!).最後に古いaofファイルを置き換えます.
    トリガメカニズム:AOFファイルサイズが前回rewrite後のサイズの倍であり、ファイルが64 Mより大きい場合にトリガされます.ここで「倍」と「64 M」はプロファイルで変更できます.
    AOFのメリットとデメリット:データの整合性と一貫性がより高いデメリット:AOF記録の内容が多いため、ファイルがますます大きくなり、データ復旧もますます遅くなります.
    まとめRedisはデフォルトでRDB永続化方式をオンにし、指定した時間間隔で指定回数の書き込み操作を実行すると、メモリ内のデータをディスクに書き込む.RDB永続化は、大規模なデータ・リカバリに適していますが、データの一貫性と完全性が劣っています.Redisは、AOF永続化方式を手動でオンにする必要があり、デフォルトでは、書き込み操作ログをAOFファイルに1秒ごとに追加します.AOFのデータ整合性はRDBより高いが,記録内容が多くなるとデータ復旧の効率に影響する.RedisはAOFファイルの大きな問題に対して、書き換えのダイエットメカニズムを提供しています.Redisのみでキャッシュする場合は、永続化をオフにできます.Redisの永続化を使うつもりなら.RDBもAOFもオンにすることをお勧めします.実はRDBはデータのバックアップに適していて、後手を残しています.AOFに問題が発生しました.RDBもあります.