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
浅谈Redis存储数据类型及存取值方法
May 08 Redis
基于Redis位图实现用户签到功能
May 08 Redis
redis内存空间效率问题的深入探究
May 17 Redis
浅谈redis缓存在项目中的使用
May 20 Redis
Redis可视化客户端小结
Jun 10 Redis
为什么RedisCluster设计成16384个槽
Sep 25 Redis
Redis+Lua脚本实现计数器接口防刷功能(升级版)
Feb 12 Redis
高并发下Redis如何保持数据一致性(避免读后写)
Mar 18 Redis
Redis实战高并发之扣减库存项目
Apr 14 Redis
Redis数据同步之redis shake的实现方法
Apr 21 Redis
windows安装 redis 6.2.6最新步骤详解
Apr 26 Redis
 Redis 串行生成顺序编码的方法实现
浅谈Redis 中的过期删除策略和内存淘汰机制
一文搞懂Redis中String数据类型
Apr 03 #Redis
使用Redis做预定库存缓存功能
sentinel支持的redis高可用集群配置详解
redis sentinel监控高可用集群实现的配置步骤
redis调用二维码时的不断刷新排查分析
Apr 01 #Redis
You might like
IP138 IP地址查询小偷实现代码
2010/02/15 PHP
基于PHP输出缓存(output_buffering)的深入理解
2013/06/13 PHP
php获取文件大小的方法
2014/02/26 PHP
php的sso单点登录实现方法
2015/01/08 PHP
值得分享的php+ajax实时聊天室
2016/07/20 PHP
jquery 最简单易用的表单验证插件
2010/02/27 Javascript
javascript常用方法、属性集合及NodeList 和 HTMLCollection 的浏览器差异
2010/12/25 Javascript
jquery attr 设定src中含有&(宏)符号问题的解决方法
2011/07/26 Javascript
js模拟滚动条(横向竖向)
2013/02/22 Javascript
dwz 如何去掉ajaxloading具体代码
2013/05/22 Javascript
Js冒泡事件详解及阻止示例
2014/03/21 Javascript
复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
2014/10/16 Javascript
JS实现从网页顶部掉下弹出层效果的方法
2015/08/06 Javascript
window.onload绑定多个事件的两种解决方案
2016/05/15 Javascript
新手学习前端之js模仿淘宝主页网站
2016/10/31 Javascript
JS控件bootstrap datepicker使用方法详解
2017/03/25 Javascript
微信小程序 生命周期函数详解
2017/05/24 Javascript
手把手搭建安装基于windows的Vue.js运行环境
2017/06/12 Javascript
vue-router的钩子函数用法实例分析
2019/10/26 Javascript
JavaScript 自定义html元素鼠标右键菜单功能
2019/12/02 Javascript
Angular之jwt令牌身份验证的实现
2020/02/14 Javascript
python使用PyV8执行javascript代码示例分享
2013/12/04 Python
浅要分析Python程序与C程序的结合使用
2015/04/07 Python
用 Python 爬了爬自己的微信朋友(实例讲解)
2017/08/25 Python
Python数据分析之双色球统计单个红和蓝球哪个比例高的方法
2018/02/03 Python
Python实现合并同一个文件夹下所有txt文件的方法示例
2018/04/26 Python
Python实现简单的用户交互方法详解
2018/09/25 Python
Python创建一个元素都为0的列表实例
2019/11/28 Python
Tensorflow训练MNIST手写数字识别模型
2020/02/13 Python
Python读写Excel表格的方法
2021/03/02 Python
速卖通欧盟:Aliexpress EU
2020/08/19 全球购物
杭州联环马网络笔试题面试题
2013/08/04 面试题
五年级英语教学反思
2014/01/31 职场文书
元旦联欢会感言
2014/03/04 职场文书
《一个小村庄的故事》教学反思
2014/04/13 职场文书
标准版离职证明书
2014/09/12 职场文书