redis永続化、RDBスナップショットストレージ、AOFファイルのみ追加
3282 ワード
文書ディレクトリ永続化、RDBスナップショット記憶、AOF追加ファイルのみ RDBスナップショット記憶 AOFファイルのみ追加 持続化の選択方法 永続化、RDBスナップショットストレージ、AOFファイルのみ追加redisはディスクにデータを書き込み、ダウンタイムまたはダウンタイム後にredisを再起動したときにディスクのバックアップデータをメモリにロードして使用を再開することができる.これはredisの持続化です.持続化には以下の2つのメカニズムがある.
RDBスナップショットストレージredisはメモリ内のデータをディスクに書き込んで永続化できる.永続化を行うと、redisはサブプロセスを作成して実行します. redisはスナップショット持続化機構をデフォルトでオンにしている. 仕組み: forkが1つ redis再起動後、rdbファイルのデータがメモリにロードされる トリガ方式 配置中設定 BGSAVE:実行 SHUTDOWN:redisを閉じるとトリガー 関連配置 メリット: データのバックアップが容易 書き込み時コピー`:サブプロセスは単独で永続化操作を完了し、親プロセスはIO操作に参加せず、redis性能を最大化する 大量のデータを復元する場合、AOFより速度が優れている 短所: データをリアルタイムで保存していない`、redisが予期せぬ停止(電源切れなど)した場合、しばらくデータが失われる可能性がある データ量が大きいとforkプロセスが遅くなり、永続化するとredis応答速度が遅くなる
AOFファイルのみ追加redisは、実行されたすべての命令をファイルに追加して永続化記憶することができ、これはredisのもう一つの永続化メカニズムである. redisデフォルトではAOFメカニズムがオンになっていない. Append-only fileファイルのみ追加 追加のみ 仕組み メインスレッドが redisが再起動するとaofファイルのコマンドを再実行してデータを復元する RDBを同時にオンにした場合はAOFを優先する ファイル修復 AOFエラー(ディスクがいっぱい/書き込み中にダウンタイムなど)が発生した場合、redis再起動時に当該AOFファイルの使用を拒否する 修復手順 まずAOFファイルをバックアップ redis-check-aofツールによる修復(末尾に復旧できないコマンドは削除するのが一般的) redisサーバを再起動し、修復されたAOFファイルを自動的に読み込み、データ復旧を行う
ファイル書き換え/圧縮 AOFは、AOFファイルが大きすぎないように書き換え/圧縮機構(最適化命令)を提供している forkサブプロセスでAOF書き換え完了 関連配置 メリット より信頼性の高い`デフォルトは毎秒1回の操作を同期し、最大1秒のデータを失う 3つのポリシーが用意されているが、同期しなくてもよい/書き込みごとに同期してもよい AOFファイルが大きすぎないようにできる 短所: 同じデータセット、AOFファイル比RDB 非同期の場合を除き、RDB`より速度が遅いことが多い
永続化の選択方法対 RDB or AOF データセキュリティの要求が高く、すべてオープン 短時間でのデータロスが許容できるRDBのみ AOFを使用してもRDBをオンにすることが望ましい.バックアップが容易で回復速度が速いためバグが少ない プロジェクトでの応用 redisによるデータの一部の永続化ストレージ ユーザーの閲覧履歴/検索履歴
RDBスナップショットストレージ
データ永続化に特化し、メモリ内のすべてのデータを1つのrdbファイルに保存する(デフォルトはdump.rdb)
SAVE
|BGSAVE
|SHUTDOWN
(自動永続化ポリシーが設定されていることが前提)BGSAVE
コマンド、手動トリガRDB持続化 save 60 1000 # 60 1000 ,
stop-writes-on-bgsave-error no # ,
rdbcompression yes #
dbfilename dump.rdb #
dir ./ #
save # RDB
:
個別のファイル`では、データのバックアップが容易(タイミングタスクを使用して、タイミングでファイルをデータバックアップセンターに送信できる)AOFファイルのみ追加
データではなく
aof_に追加buf(バッファ)では、使用するポリシーによって異なる
キャッシュ領域のコマンドをaofファイルに書き込む(サブプロセスを使用しない)appendonly no # AOF
appendfsync everysec #
no-appendfsync-on-rewirete no # aof
auto-aof-rewrite-percentage 100 # aof , aof aof
auto-aof-rewrite-min-size 64mb # aof , aof 64mb
appendfilename appendonly.aof # aof
dir ./ # aof ( rdb )
AOF
# appendfsync always #
appendfsync everysec # ,
# appendfsync no #
、
永続化の選択方法
,
redisによる永続化ストレージを選択可能