redis复制有可能碰到的问题汇总


Posted in Redis onApril 03, 2022

使用salveof命令之后,长时间看不到数据同步,以为复制功能失效了,或配置错了。其实不用担心,有两种方法可以确定是否正在建立复制。

在创建redis复制是,一开始可能会发现slave长时间不开始同步数据,可能数据量太大,导致了master在dump数据慢,此时可以在master上执行top -p ${pgrep -d,redis-sever}命令,就可以看到dump的过程。

[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一个子进程,dump出RDB文件。master dump完毕,然后再将快照文件传给slave.

方法二:通过rdb_bgsave_in_progress标识

进入master的redis-cli

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

如果rdb_bgsave_in_progress为1,那么master正在进行bgsave命令。同时rdb_current_bgsave_time_sec显示bgsave命令已经执行的时间。由于master服务器上默认不开启RDB和AOF日志,如果rdb_bgsave_in_progress为1,那么就可以肯定由于复制原因发送一个bgsave指令dump出RDB文件。

到此这篇关于redis复制有可能碰到的问题汇总的文章就介绍到这了,更多相关redis复制问题内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Redis 相关文章推荐
Redis数据结构之链表与字典的使用
May 11 Redis
Windows下redis下载、redis安装及使用教程
Jun 02 Redis
了解Redis常见应用场景
Jun 23 Redis
Jedis操作Redis实现模拟验证码发送功能
Sep 25 Redis
Redis+Lua脚本实现计数器接口防刷功能(升级版)
Feb 12 Redis
Redis命令处理过程源码解析
Feb 12 Redis
Redis如何使用乐观锁(CAS)保证数据一致性
Mar 25 Redis
redis调用二维码时的不断刷新排查分析
Apr 01 Redis
Redis批量生成数据的实现
Jun 05 Redis
使用Redis实现分布式锁的方法
Jun 16 Redis
如何使用注解方式实现 Redis 分布式锁
Jul 23 Redis
 Redis 串行生成顺序编码的方法实现
浅谈Redis 中的过期删除策略和内存淘汰机制
一文搞懂Redis中String数据类型
Apr 03 #Redis
使用Redis做预定库存缓存功能
sentinel支持的redis高可用集群配置详解
redis sentinel监控高可用集群实现的配置步骤
redis调用二维码时的不断刷新排查分析
Apr 01 #Redis
You might like
解析php二分法查找数组是否包含某一元素
2013/05/23 PHP
ThinkPHP 3.2 版本升级了哪些内容
2015/03/05 PHP
微信公众平台之快递查询功能用法实例
2015/04/14 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
2018/06/04 PHP
PHP数组访问常用方法解析
2020/09/05 PHP
Gambit vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
Prototype Class对象学习
2009/07/19 Javascript
基于Jquery的开发个代阴影的对话框效果代码
2011/07/28 Javascript
JQuery动态创建DOM、表单元素的实现代码
2011/08/09 Javascript
javascript中节点的最近的相关节点访问方法
2013/03/20 Javascript
JS点击链接后慢慢展开隐藏着图片的方法
2015/02/17 Javascript
javascript判断css3动画结束 css3动画结束的回调函数
2015/03/10 Javascript
基于Turn.js 实现翻书效果实例解析
2016/06/20 Javascript
JS获取鼠标相对位置的方法
2016/09/20 Javascript
需要牢记的JavaScript基础知识
2016/09/25 Javascript
NodeJS使用七牛云存储上传文件的方法
2017/07/24 NodeJs
vue微信分享 vue实现当前页面分享其他页面
2017/12/02 Javascript
vue之将echart封装为组件
2018/06/02 Javascript
JS用最简单的方法实现四舍五入
2019/08/27 Javascript
JavaScript十大取整方法实例教程
2020/12/03 Javascript
Python探索之修改Python搜索路径
2017/10/25 Python
Python进阶之@property动态属性的实现
2019/04/01 Python
Pandas库之DataFrame使用的学习笔记
2019/06/21 Python
python一些性能分析的技巧
2020/08/30 Python
分享8款纯CSS3实现的搜索框功能
2017/09/14 HTML / CSS
加拿大时尚少女服装品牌:Garage
2016/10/10 全球购物
巴基斯坦购物网站:Goto
2019/03/11 全球购物
Yves Rocher捷克官方网站:植物化妆品的创造者
2019/07/31 全球购物
澳大利亚窗帘商店:Curtain Wonderland
2019/12/01 全球购物
金融专业大学生自我评价
2014/01/09 职场文书
致铅球运动员广播稿精选
2014/01/12 职场文书
闪闪的红星观后感
2015/06/08 职场文书
财务会计个人原因辞职信
2019/06/21 职场文书
Java日常练习题,每天进步一点点(38)
2021/07/26 Java/Android
CPU不支持Windows11系统怎么办
2021/11/21 数码科技
Golang使用Panic与Recover进行错误捕获
2022/03/22 Golang