redisプロファイルの詳細(一)

5967 ワード

Redisプロファイルは、次のような大きな領域に分割されます.
1.汎用(General)
2.スナップショット(snapshotting)
3.レプリケーション(replication)
4.安全(security)
5.制限(limits)
6.追加モード(append only mode)
7.LUAスクリプト(lua scripting)
8.Redisクラスタ(redis cluster)
9.スローログ(slow log)
10.遅延監視(latency monitor)
11.イベント通知(event notification)
12.高度な構成(advanced config)
注意:INCLUDES構成:マシンに1つのRedisインスタンスのみが存在する場合、各Redisインスタンスの「パーソナライズ」構成を実現することができ、この場合、これらのインスタンスの共有構成をredisに書き込むことができる.confでは、include構成パスで指定されたファイルにパーソナライズされた構成が書き込まれます.
1.汎用(General):
1
2
3
4
5
6
7
8
9
10
11 ############################  GENERAL  ################################# daemonize no                     ## daemon ( no) pidfile  /var/run/redis/redis .pid      ##Pid port 6379                          ## tcp-backlog 511             ## ,  , , bind 127.0.0.1                 ## redis ( ) timeout 0                                 ## (0 ) tcp-keepalive 0                    ##TCP ( ,0 ) loglevel notice            ##log ( , debug、verbose、notice、warning) logfile  /var/log/redis/redis .log        ##log , [logfile ""] , redis , /dev/null databases 16      ## ( 0 , select <DBid> )
2.スナップショット(snapshotting)----主にredisのRDB持続化に関する構成
save**:スナップショットを保存する頻度です.最初の*はどれくらいの時間を表し、2番目の*は何回書き込みを実行するかを表します.一定時間に一定数の書き込みを実行すると、自動的にスナップショットが保存され、複数の条件を設定できます.RDB永続化ポリシーを無効にするには、saveコマンドを設定しないか、または[save"]を設定します.
1
2
3
4
5
6
7
8
9 ##########################  SNAPSHOTTING  ############################# save 900 1            ## 15 1 key , save 300 10           ## 5 10 key , save 60 10000         ## 60 10000 key , stop-writes-on-bgsave-error  yes          ##redis , redis rdbcompression  yes                ## rdbchecksum  yes                  ## CRC64 dbfilename dump.rdb            ## ( , ) dir   /var/lib/redis/             ## ( )
3.レプリケーション(replication)
############################### REPLICATION ##########################
slaveeofプロファイルにより、あるredisを別のredisのスレーブサーバとして制御し、IPとポートを指定することでプライマリredisの位置を特定できます.
1 # slaveof <masterip> <masterport>
プライマリredisが検証パスワードを設定する(requirepass設定を使用する)場合は、redisの構成からmasterauthを使用して検証パスワードを設定する必要があります.そうしないと、プライマリredisはredisからのアクセス要求を拒否します.
1 # masterauth <master-password>
redisからプライマリredisへの接続が失われた場合、またはプライマリ・スレーブの同期が進行中の場合、redisが外部から送信したアクセス要求に対する2つの処理選択:
選択1:yes(デフォルト)に設定すると、redisからクライアントの読み書き要求に応答し続けます.
選択2:noに設定すると、redisからクライアントのリクエストに対して「SYNC with master in progress」が返されます(例外:クライアントからINFOリクエストとSLAVEOFリクエストが送信された場合、redisから処理されます).
1
2 slave-serve-stale-data  yes    slave- read -only  yes             ## redis
レプリケーション同期ポリシー:ディスクまたはsocket
新しいredisからオンラインまたはプライマリredisから再オンラインになった場合は、データの全同期を行う必要があります.新しいRDBファイルをdumpし、プライマリredisからredisに転送する必要があります.次の2つのケースがあります.
1.ハードディスク(disk-backed):プライマリredisは新しいプロセスdump RDBを作成し、その後、親プロセス(プライマリプロセス)によってredisからインクリメンタルに転送する
2.socket(diskless)に基づく:メインredisは新しいプロセスを直接dump RDBからredisのsocketまで作成し、メインプロセスを経ず、ハードディスクを経ない
ハードディスク(HDD)ベースの場合、RDBファイルの作成後、作成が完了すると、redisからより多くのサービスを同時に提供することができます.SOcketに基づいて、新しいredisから追加すると、repl-diskless-sync-delay設定時を超えた場合など、キューを行う必要があります.disklessを使用する場合、プライマリredisはrepl-diskless-sync-delayが設定した秒数を待ってから、redisから新しい加入がなければ、直接伝達され、その後はキューに並んで待つ必要があります.(デフォルトはdisk-based)
1
2
3 repl-diskless- sync   no repl-diskless- sync -delay 5              ## ( diskless) # repl-ping-slave-period 10             ## redis redis PING ( 10 )
プライマリ・スレーブの同期時にタイムアウトが発生する可能性があります.
1.redisの観点から、大規模IO伝送がある場合.
2.redisの観点から、データ転送またはPINGの場合、プライマリredisはタイムアウトする
3.主redisの観点から、redisからのPINGを返信する場合、redisからタイムアウトする
ユーザーは、上記のタイムアウトの時間を設定できますが、この時間がrepl-ping-slave-periodの値よりも大きいことを確認します.そうしないと、プライマリredisは毎回redisからタイムアウトしていると考えられます.
1 # repl-timeout 60
マスタスレーブ同期時にTCPを無効にするかどうかを設定します.NODELAY.TCPをオンにするとNODELAYでは、プライマリredisは、より少ないTCPパケットとより少ない帯域幅を使用してredisからデータを転送するが、同期遅延(40 ms)が増加する可能性がある.TCPをオフにするとNODELAYでは、データ同期の遅延時間は低下しますが、より多くの帯域幅が消費されます.
1 repl-disable-tcp-nodelay no
同期キューの長さを設定します.キュー長(backlog)は、プライマリ・redisのバッファであり、セカンダリ・redisから接続を切断する間、プライマリ・redisはこのバッファでセカンダリ・redisに送信すべきデータをキャッシュします.これにより、redisから再接続すると、データを全量同期する必要がなくなり、このインクリメンタルデータを同期するだけで済む
1 # repl-backlog-size 1mb
プライマリredisクリーンアップバッファキューの待機時間を設定します(0に設定するとクリーンアップされません.デフォルトは1時間です).
1
2 # repl-backlog-ttl 3600 slave-priority 100    ## redis , , ( 100)
プライマリredisが、redisからの接続遅延がN秒より大きいM個を超えることを発見すると、プライマリredisは、外部からの書き込み要求の受信を停止する
1
2 # min-slaves-to-write 3 # min-slaves-max-lag 10
redisからの接続遅延が3つ以上10秒以上ある場合、プライマリredisは外部の書き込み要求を受け入れません.上記の2つの構成のうちの1つが0に設定されると、この特性は閉じられます.