什么是持久化
为什么要进行持久化
持久化过程保存什么
1.将当前数据状态进行保存,快照形式,存储数据结果,存储格式简单,关注点在数据 RDB 2.将数据的操作过程进行保存,日志形式,存储操作过程,存储格式复杂,关注点在数据的操作过程 AOF
第一段:RDB启动方式——save指令
命令执行
谁:redis操作者(用户)
什么时间:即时(随时进行)
干什么事:保存数据
命令
save #客户端设置完key/value之后输入save保存
作用
执行持久化命令之后在日志存放地址发现dump.rab文件,执行save命令保存数据的文件,保存当前的快照信息.
第二段:RDB启动方式——save指令相关配置
在配置文件中修改以下参数
第三段:数据恢复过程演示
第四段:RDB启动方式——bgsave指令
Redis是单线程任务执行序列,如果执行save命令时间过长会阻塞当前Redis服务器,直到当前RDB过程完成为止,有可能会造成长时间阻塞,线上环境不建议使用.
数据量过大,单线程执行方式造成效率过低如何处理:放在后台执行
谁执行:redis操作者(用户)发起指令;redis服务器控制指令执行
什么时间:即时(发起);合理的时间(后台执行)
干什么事情:保存数据
bgsave #后台操作 作用:手动启动后台保存操作,但不是立即执行
bgsave指令工作原理? ?(******)
1.客户端发送bgsave指令到redis服务端 2.系统调用fork函数,生成子进程 3.创建rdb文件 ④完成之后会返回redis服务端消息,告诉已经保存完毕
注意:bgsave命令是针对save阻塞问题做的优化.Redis内部所有涉及到RDB操作都采用bgsave的方式,save命令可以放弃使用
使用bgsave指令相关配置 stop-write-on-bgsave-error yes 说明:后台存储过程中如果出现错误现象,是否停止保存操作,通常默认为开启状态
第五段:RDB启动方式——自动执行save配置(后台还是使用bgsave指令)
自动执行
谁:redis服务器发起指令(基于条件)
什么时间:满足条件
干什么事情:保存数据
conf配置文件: save seconds changes 作用:满足限定时间范围内key的变化数量达到指定数量即进行持久化 参数: second:监控时间范围(单位是s) changes:监控key的变化量 位置:在conf配置文件中进行配置 例如 save 900 1 #900秒内监测到1个key发生变化,在规定时间内只要有这些数量的key发生变化
注意:配置好后,后台还是使用的bgsave指令,除了查询之外,增加、修改、覆盖key值都会保存记录
save配置原理
注意
1.save配置要根据实际业务情况进行设置,频率过高过低都会出现性能问题,结果可能是灾难性的. 2.save配置中对于second和changes设置通常具有互补对应关系,尽量不要设置成包含关系 ③save配置启动后执行的是bgsave操作
第六段:RDB三种启动方式对比
第七段:RDB特殊启动形式
1.全量复制 在主从复制中详细讲解 2.服务器运行过程中重启 debug reload 3.关闭服务器时指定保存数据 shutdown save
第八段:RDB优缺点
以上就是土嘎嘎小编为大家整理的Redis入门到精通_十一)——Redis持久化_RDB/AOF)、RDB的启动方式_save/bgsave/save配置)、RDB三种启动方式对比相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!