Rumah >pangkalan data >Redis >Apakah masalah yang dihadapi dalam replikasi redis?

Apakah masalah yang dihadapi dalam replikasi redis?

WBOY
WBOYke hadapan
2023-05-28 22:43:321334semak imbas

Kegagalan untuk melihat penyegerakan data untuk masa yang lama boleh membawa kepada kepercayaan yang salah bahawa fungsi replikasi tidak sah atau konfigurasi tidak betul. Dalam kes ini, anda boleh mempertimbangkan untuk menggunakan perintah salveof. Jangan risau, terdapat dua cara untuk menentukan sama ada replikasi sedang diwujudkan.

Apabila membuat replikasi redis, anda mungkin mendapati bahawa hamba tidak mula menyegerakkan data untuk masa yang lama Jumlah data mungkin terlalu besar, menyebabkan induk menjadi lambat dalam membuang data , anda boleh melaksanakan top -p $ pada perintah {pgrep -d,redis-sever}, anda boleh melihat proses pembuangan.

[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 ialah satu proses Sekarang anda boleh menyemak bahawa terdapat 2 proses melalui arahan atas Kerana seperti yang dinyatakan sebelum ini, apabila redis mewujudkan replikasi, ia akan melaksanakan perintah bgsave pada perkhidmatan utama dan garpu satu. Subproses, buang fail RDB. Mula-mula selesaikan pembuangan pangkalan data induk, dan kemudian pindahkan fail syot kilat ke pangkalan data hamba

Kaedah 2: Masukkan redis-cli induk melalui pengecam rdb_bgsave_in_progress

127.0.0.1:6381> info Persistence
# Persistence
loading:0
current_cow_size:0
current_cow_size_age:0
current_fork_perc:0.00
current_save_keys_processed:0
current_save_keys_total:0
rdb_changes_since_last_save:0
rdb_bgsave_in_progress:0  ##这个表示没有
rdb_last_save_time:1648953406
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:0
rdb_current_bgsave_time_sec:-1
rdb_last_cow_size:311296
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok
aof_last_cow_size:0
module_fork_in_progress:0
module_fork_last_cow_size:0

Apabila rdb_bgsave_in_progress Apabila nilai ialah 1, ia bermakna pelayan utama sedang melaksanakan arahan simpan latar belakang (bgsave). rdb_current_bgsave_time_sec menunjukkan masa pelaksanaan perintah bgsave. Memandangkan log RDB dan AOF tidak didayakan secara lalai pada pelayan induk, jika rdb_bgsave_in_progress ialah 1, maka anda pasti boleh menghantar arahan bgsave untuk membuang fail RDB atas sebab replikasi.

Atas ialah kandungan terperinci Apakah masalah yang dihadapi dalam replikasi redis?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam