Maison > base de données > Redis > le corps du texte

Quels sont les problèmes rencontrés dans la réplication Redis ?

WBOY
Libérer: 2023-05-28 22:43:32
avant
1305 Les gens l'ont consulté

Ne pas voir la synchronisation des données pendant une longue période peut conduire à croire à tort que la fonction de réplication n'est pas valide ou que la configuration est incorrecte. Dans ce cas, vous pouvez envisager d'utiliser la commande salveof. Ne vous inquiétez pas, il existe deux manières de déterminer si la réplication est en cours d'établissement.

Lors de la création d'une réplication Redis, vous constaterez peut-être que l'esclave ne commence pas à synchroniser les données pendant une longue période. La quantité de données peut être trop importante, ce qui ralentit le transfert des données par le maître. top -p ${pgrep -d sur la commande master , redis-sever}, vous pouvez voir le processus de vidage.

[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
Copier après la connexion

redis-server est un processus unique. Vous pouvez maintenant vérifier qu'il y a 2 processus via la commande top Car comme mentionné précédemment, lorsque redis établira la réplication, il exécutera la commande bgsave sur le service principal, créera un processus enfant. et dump Exportez le fichier RDB. Terminez d'abord le vidage de la base de données maître, puis transférez le fichier d'instantané vers la base de données esclave

Méthode 2 : entrez le redis-cli du maître via l'identifiant 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
Copier après la connexion

Lorsque la valeur de rdb_bgsave_in_progress est 1, cela signifie que le serveur principal exécute une commande de sauvegarde en arrière-plan (bgsave). rdb_current_bgsave_time_sec indique l'heure d'exécution de la commande bgsave. Étant donné que les journaux RDB et AOF ne sont pas activés par défaut sur le serveur maître, si rdb_bgsave_in_progress vaut 1, vous pouvez alors certainement envoyer une commande bgsave pour vider le fichier RDB pour des raisons de réplication.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!