什么是持久化
利用永久性存储介质将数据进行保存,在特定的时间将保存的数据进行恢复的工作机制称为持久化
为什么要进行持久化
防止数据的意外丢失,确保数据安全性
持久化过程保存什么
1.将当前数据状态进行保存,快照形式,存储数据结果,存储格式简单,关注点在数据 RDB 2.将数据的操作过程进行保存,日志形式,存储操作过程,存储格式复杂,关注点在数据的操作过程 AOF
一、RDB启动方式——save指令
命令
save #客户端设置完key/value之后输入save保存
作用
手动执行一次保存一次数据
执行持久化命令之后在日志存放地址发现dump.rab文件,执行save命令保存数据的文件,保存当前的快照信息。
二、RDB启动方式——save指令相关配置
三、数据恢复过程演示
就是在启动的时候将数据加载过来的
四、RDB启动方式——bgsave指令
数据量过大,单线程执行方式造成效率过低如何处理:放在后台执行
命令
bgsave指令工作原理 (******)
注意:bgsave命令是针对save阻塞问题做的优化。Redis内部所有涉及到RDB操作都采用bgsave的方式,save命令可以放弃使用
五、RDB启动方式——自动执行save配置(后台还是使用bgsave指令)
前面两种都是手动执行,如果忘记执行命令怎么办?不知道数据产生了多少变化,何时保存。
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设置通常具有互补对应关系,尽量不要设置成包含关系 3.save配置启动后执行的是bgsave操作
六、RDB三种启动方式对比
七、RDB特殊启动形式
1.全量复制 在主从复制中详细讲解 2.服务器运行过程中重启 debug reload 3.关闭服务器时指定保存数据 shutdown save
八、RDB优缺点
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。