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持久化与主从复制的实践
Apr 27 Redis
Redis5之后版本的高可用集群搭建的实现
Apr 27 Redis
Redis 配置文件重要属性的具体使用
May 20 Redis
Redis高级数据类型Hyperloglog、Bitmap的使用
May 24 Redis
在redisCluster中模糊获取key方式
Jul 09 Redis
Redis做数据持久化的解决方案及底层原理
Jul 15 Redis
Redis Cluster 集群搭建你会吗
Aug 04 Redis
Redis 的查询很快的原因解析及Redis 如何保证查询的高效
Mar 16 Redis
redis数据一致性的实现示例
Mar 18 Redis
使用Redis实现点赞取消点赞的详细代码
Mar 20 Redis
解决 redis 无法远程连接
May 15 Redis
Redis实现订单过期删除的方法步骤
Jun 05 Redis
 Redis 串行生成顺序编码的方法实现
浅谈Redis 中的过期删除策略和内存淘汰机制
一文搞懂Redis中String数据类型
Apr 03 #Redis
使用Redis做预定库存缓存功能
sentinel支持的redis高可用集群配置详解
redis sentinel监控高可用集群实现的配置步骤
redis调用二维码时的不断刷新排查分析
Apr 01 #Redis
You might like
C#使用PHP服务端的Web Service通信实例
2014/04/08 PHP
一个严格的PHP Session会话超时时间设置方法
2014/06/10 PHP
PHP中FTP相关函数小结
2016/07/15 PHP
PHP实现将多个文件中的内容合并为新文件的方法示例
2017/06/10 PHP
CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
2019/02/28 PHP
js兼容的placeholder属性详解
2013/08/18 Javascript
时间戳转换为时间 年月日时间的JS函数
2013/08/19 Javascript
鼠标拖动实现DIV排序示例代码
2013/10/14 Javascript
将数字转换成大写的人民币表达式的js函数
2014/09/21 Javascript
使用jQuery实现星级评分代码分享
2014/12/09 Javascript
jQuery无刷新切换主题皮肤实例讲解
2015/10/21 Javascript
深入浅析同源策略和跨域访问
2015/11/26 Javascript
JavaScript简单获取页面图片原始尺寸的方法
2016/06/21 Javascript
浅析为什么a="abc" 不等于 a=new String("abc")
2017/10/25 Javascript
使用FormData实现上传多个文件
2018/12/04 Javascript
Vue之封装公用变量以及实现方式
2020/07/31 Javascript
[08:44]DOTA2发布会群星聚首 我们都是刀塔人
2014/03/21 DOTA
用Python写的图片蜘蛛人代码
2012/08/27 Python
用pywin32实现windows模拟鼠标及键盘动作
2014/04/22 Python
Python编程之string相关操作实例详解
2017/07/22 Python
python实现对求解最长回文子串的动态规划算法
2018/06/02 Python
python 列表降维的实例讲解
2018/06/28 Python
Python3爬虫使用Fidder实现APP爬取示例
2018/11/27 Python
Python使用Turtle库绘制一棵西兰花
2019/11/23 Python
在python3中实现更新界面
2020/02/21 Python
对Keras中predict()方法和predict_classes()方法的区别说明
2020/06/09 Python
澳大利亚领先的女帽及配饰公司:Morgan&Taylor
2019/12/01 全球购物
判断单链表中是否存在环
2012/07/16 面试题
安全检查与奖惩制度
2014/01/23 职场文书
大学军训感言300字
2014/03/09 职场文书
税务干部群众路线教育实践活动自我剖析材料
2014/09/21 职场文书
群众路线教师自我剖析材料
2014/09/29 职场文书
工程部经理岗位职责
2015/02/02 职场文书
广告公司文案策划岗位职责
2015/04/14 职场文书
《丑小鸭》教学反思
2016/02/19 职场文书
JavaScript模拟实现网易云轮播效果
2022/04/04 Javascript