| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> Redis持久化之AOF -> 正文阅读 |
|
[大数据]Redis持久化之AOF |
简析RBD的缺陷:①RDB是存储某个时间点的数据状态,用的是快照的方式,不管是使用命令还是设置配置都无法满足实时持久化的需求,很有可能造成数据的丢失 ②RDB持久化需要调用fork函数生成子进程去进行持久化会造成性能上的损失 解决思路: ①不记录全部数据,仅记录部分数据 ②改记录数据变成记录操作 ③对所有操作记录,排除数据的丢失 所以Redis推出了AOF机制:改记录数据为记录操作 AOF作用:实时持久化数据 目前已经成为Redis持久化的主流方式 AOF写数据的过程:?AOF写数据的三种策略①always(每次) ? ? ? ?每次写入操作均同步到aof文件中,数据零误差,性能较低 ②everysec(每秒) ? ? ? ? 每秒将缓存中的指令同步到AOF文件中,数据准确性较高,性能较高 ? ? ? ? 在系统宕机的情况下只丢失1s的数据 ③no(系统控制) ? ? ? ? 由操作系统控制每次同步到AOF文件的周期,整体过程不可控 AOF功能的开启:·配置
作用:是否开启AOF持久化,默认不开启 ·配置
作用:AOF写数据的策略 AOF相关配置:·配置
作用:AOF持久化文件名,默认appendonly.aof,建议appendonly-端口号.aof ·配置
作用:AOF持久化文件路径与RDB持久化文件路径一致 ? ?我将AOF持久化策略设置为always,可以看到每次操作都会记录到aof文件中 ? ?如果执行set sno 183206207 再执行 set sno 183206227,这样看显然第一次的操作记录是累赘的,有没有办法就是只记录最后一次的操作,肯定有,如果没有的话,aof记录的操作将会很庞大。接下来就是我要介绍的AOF重写, AOF重写什么是AOF重写:简单点说就是对同一个数据的进行的若干操作将最后的结果转换为操作指令 AOF重写的好处: ①提高磁盘的利用率 ②提高持久化的效率 ③提高数据恢复的效率 AOF的重写策略: ①进程中已经过期的数据不再写入文件中 ②忽略无效指令,生成最终数据的操作指令 ③对同一条数据的若干操作指令进行一个合并 说明:为了防止客户端缓冲区溢出,对list、set、hash、zset等类型,每条指令最多写入64个元素 AOF重写方式: ①手动重写
②自动重写 ·自动重写触发条件设置
?·自动重写触发比对参数(运行指令info Persistence获取具体信息)
·自动重写触发条件?
?aof手动重写的执行流程: ?aof工作流程:? ? ?RBD与AOF的对比:
? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 8:56:42- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |