redisフルメモリ運転


一部の使用シーンでは、redisの永続化を使用する必要はありません.逆に、redisのメモリデータベースの特性を発揮し、完全なメモリ実行を実現し、必要な高性能を達成する必要があります.
Redis自体は永続化をサポートし、一定時間間隔またはトリガ操作によりメモリ内のデータをディスクに同期して永続化を保証します.Redisは2つの持続化方式をサポートし、1つはSnapshotting(スナップショット)であり、dumpとして保存する.rdbファイルは、デフォルトの方法でもあり、Append-only file(aofと略す)の方法で保存する.aofファイル.
Snapshotスナップショットは、saveまたはbgsaveコマンドを使用してredisにスナップショットの永続化を通知します.save操作は、redisがすべてのクライアントの要求を1つのプライマリ・スレッドで処理するため、すべてのクライアント要求をブロックするプライマリ・スレッドにスナップショットを保存します.なのでおすすめしません.もう1つ注意しなければならないのは、スナップショットの永続化のたびにメモリデータをディスクに完全に書き込むことであり、インクリメンタルのみがインクリメンタルデータを同期するわけではありません.データ量が多いと書き込み操作が多くなり、必然的に大量のディスクIO操作を引き起こし、パフォーマンスに深刻な影響を及ぼす可能性があります.
デフォルトのスナップショットrdbの保存方法ではredis.confの中の配置は以下の通りです.
save 900 1   #900      1  key    ,        
save 300 10  #300      10 key    ,        
save 60 10000

スナップショットを閉じる必要がある場合は、これらの行をコメントしてredisを再起動するだけです.
実行中のインスタンスの場合はredis-cliのコマンドを使用します.
#       
config get save
#     
config set save ""

設定をオンラインで更新し、OKを出力すると設定に成功します.
AOFがスナップショット方式よりも優れた持続性を持っているのは、aof持続化方式を使用するとredisが受信した書き込みごとに
コマンドはwrite関数でファイルに追加されます(デフォルトはappendonly.aof).redisが再起動するとファイル内で再実行されます
保存された書き込みコマンドは、メモリ内のデータベース全体のコンテンツを再構築します.
デフォルト設定は次のとおりです.
appendonly yes      //           
#appendfsync always //                ,   ,          ,     
appendfsync everysec //           ,                ,  
#appendfsync no //        ,    ,      

プロファイルを更新する必要があります.
appendfsync no

オンライン更新設定の使用
#       
config get appendfsync
#     
config set appendfsync no

この2つの構成により、redisは完全にメモリで実行できます.
手動で永続化を行う場合は、Redisのbgsaveとbgrewriteaofを使用して手動で永続化を行うことができます.