[转]redis持久化和常见故障

Redis主从复制的原理

当建立主从关系时,slave配置slaveof <master_host> <master_port> 。slave服务器会向主服务器发送一个sync命令。master接受并fork一个进程来执行BGSAVE命令。该命令生成一个RDB文件并且全量发送给slave服务器,slave服务器接收并载入RDB文件,同时,主服务器将缓冲区的命令以增量的方式发送给从服务器,最终使从服务器的数据状态和主服务器保持一致。


RDB的工作原理

当redis生成dump.rdb文件时,工作过程如下

redis主进程fork一个子进程

fork出来的子进程将内存的数据集dump到临时的RDB中

当子进程对临时的RDB文件写入完毕,redis用新的RDB文件代替旧的RDB文件

AOF的工作原理

AOF :append only file。每当Redis执行一个改变数据集的命令时,这个命令都会被追加到AOF文件的末尾。当redis重新启动时,程序可以通过AOF文件恢复数据


持久化文件监控

Redis 监控最直接的方法当然就是使用系统提供的 info 命令来做了,只需要执行下面一条命令,就能获得 Redis 系统的状态报告。

redis-cli info

RDB文件状态监控

其中跟RDB文件状态监控相关的参数

rdb_changes_since_last_save 表明上次RDB保存以后改变的key次数

rdb_bgsave_in_progress 表示当前是否在进行bgsave操作。是为1

rdb_last_save_time 上次保存RDB文件的时间戳

rdb_last_bgsave_time_sec 上次保存的耗时

rdb_last_bgsave_status 上次保存的状态

rdb_current_bgsave_time_sec 目前保存RDB文件已花费的时间

AOF文件状态监控

其中跟AOF文件状态监控相关的参数

aof_enabled AOF文件是否启用

aof_rewrite_in_progress 表示当前是否在进行写入AOF文件操作

aof_rewrite_scheduled

aof_last_rewrite_time_sec 上次写入的时间戳

aof_current_rewrite_time_sec:-1

aof_last_bgrewrite_status:ok 上次写入状态

aof_last_write_status:ok 上次写入状态

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • “九虎门……别让我看到你们!”逸霄看了一眼手中的碎布条,随手就把它扔到了地上。 转眼看到自己的妹妹还晕倒在床上,逸...
    悲戚乌鸦阅读 312评论 0 2
  • 《日精进打卡》 姓名:郑志军 公司名称:大发化纤有限公司 《幸福精进》学习营第41期谦虚组 【日...
    故乡的云_b0af阅读 200评论 0 2
  • 7.11 自性化,从身体的本能发出的信号,到情绪、行为的发泄,自我的英雄之旅总是在压抑着,自我的防御是死能量,对很...
    台一DDM路静娟阅读 108评论 0 0
  • 驾照,你个磨人的小妖精 文/葱葱 转眼,我拿到驾照快有两月了,一直想找点时间写一篇考驾照的心得体会,一直没付诸实践...
    葱葱_阅读 698评论 25 14

友情链接更多精彩内容