データの同期を長時間確認できないと、レプリケーション機能が無効であるか、設定が間違っていると誤解される可能性があるため、salveof コマンドの使用を検討してください。心配しないでください。レプリケーションが確立されているかどうかを確認するには 2 つの方法があります。
Redis レプリケーションを作成するときに、スレーブが長時間データの同期を開始しないことがあります。データの量が多すぎるため、マスターのデータ ダンプが遅くなる可能性があります。現時点では、マスター上で top -p $ {pgrep -d,redis-sever} コマンドを実行すると、ダンプ プロセスを確認できます。
[root@img1_u ~]# top -p $(pgrep -d, redis-server) top - 14:06:24 up 54 days, 6:13, 1 user, load average: 1.18, 1.32, 1.20 Tasks: 2 total, 1 running, 1 sleeping, 0 stopped, 0 zombie Cpu(s): 15.2%us, 1.7%sy, 0.6%ni, 81.9%id, 0.2%wa, 0.0%hi, 0.4%si, 0.0%st Mem: 24542176k total, 22771848k used, 1770328k free, 2245720k buffers Swap: 524280k total, 0k used, 524280k free, 4369452k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 21619 root 20 0 5654m 5.4g 388 R 99.9 23.0 0:23.70 redis-server 1663 root 20 0 5654m 5.4g 1068 S 15.3 23.0 5042:31 redis-server
redis-server は単一のプロセスです。top コマンドで 2 つのプロセスがあることを確認できます。前述したように、redis はレプリケーションを確立するときに、メイン サービスで bgsave コマンドを実行し、 fork one. サブプロセス、RDB ファイルをダンプします。まずマスター データベースのダンプを完了してから、スナップショット ファイルをスレーブ データベースに転送します。
方法 2: rdb_bgsave_in_progress 識別子を使用してマスターの redis-cli に入力します
値が rdb_bgsave_in_progress の場合1 は、メインサーバーがバックグラウンド保存コマンド (bgsave) を実行していることを意味します。 rdb_current_bgsave_time_sec は、bgsave コマンドの実行時間を示します。マスター サーバーでは RDB および AOF ログがデフォルトで有効になっていないため、rdb_bgsave_in_progress が 1 の場合は、レプリケーションの理由により bgsave コマンドを送信して RDB ファイルをダンプできます。
以上がRedis レプリケーションで発生する問題は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。